diff --git a/.codespellrc b/.codespellrc new file mode 100644 index 0000000..89950d6 --- /dev/null +++ b/.codespellrc @@ -0,0 +1,7 @@ +[codespell] +# Ref: https://github.com/codespell-project/codespell#using-a-config-file +skip = .git*,*.pdf,.codespellrc +check-hidden = true +# names, case sensitive +ignore-regex = \bWille\b|\\@\S+ +# ignore-words-list = diff --git a/.github/workflows/build-pdf.yml b/.github/workflows/build-pdf.yml index 489834a..8d320f4 100644 --- a/.github/workflows/build-pdf.yml +++ b/.github/workflows/build-pdf.yml @@ -12,24 +12,37 @@ jobs: name: Build template runs-on: ubuntu-latest container: - image: thomasweise/docker-texlive-full:latest + image: texlive/texlive:latest-full steps: - name: Checkout code uses: actions/checkout@v4 - name: Build pdf - run: latexmk -pdflua ./template.tex + run: | + prev_style=contemporary + for style in casual classic banking oldstyle fancy contemporary + do + echo -e "\033[1;35mCompiling style $style...\033[0m" + # first cleanup, but keep .log files for later artifact upload + latexmk -c -e 'sub cleanup_generated { my $ext = $_[0]; return 0 if $ext eq "log"; return 1; }' + sed -i "s/moderncvstyle\[\]{${prev_style}}/moderncvstyle\[\]{${style}}/g" template.tex + latexmk -pdflua ./template.tex + mv template.pdf template_${style}.pdf + mv template.log template_${style}.log + # remember previous style + prev_style=$style + done - name: Upload pdf uses: actions/upload-artifact@v4 with: name: template.pdf - path: ./template.pdf + path: ./template_*.pdf - name: Upload log if: ${{ always() }} uses: actions/upload-artifact@v4 with: name: template.log - path: ./template.log + path: ./template_*.log diff --git a/.github/workflows/build-userguide-pdf.yml b/.github/workflows/build-userguide-pdf.yml new file mode 100644 index 0000000..665b93c --- /dev/null +++ b/.github/workflows/build-userguide-pdf.yml @@ -0,0 +1,55 @@ +name: Build user guide + +on: + push: + branches: + - master + paths: + - 'manual/moderncv_userguide.tex' + pull_request: + paths: + - 'manual/moderncv_userguide.tex' + +jobs: + build-userguide: + name: Build user guide + runs-on: ubuntu-latest + env: + UG_AUTHOR: Auto Userguide Creator + UG_COMMIT_MESSAGE: build of user guide + container: + image: texlive/texlive:latest-full + + steps: + - name: Checkout source code + uses: actions/checkout@v4 + with: + fetch-depth: 2 + + - name: Build user guide pdf + run: latexmk -pdflua -cd ./manual/moderncv_userguide.tex + + - name: Upload user guide pdf + uses: actions/upload-artifact@v4 + with: + name: moderncv_userguide.pdf + path: ./manual/moderncv_userguide.pdf + + - name: Upload user guide log + if: ${{ always() }} + uses: actions/upload-artifact@v4 + with: + name: moderncv_userguide.log + path: ./manual/moderncv_userguide.log + + - name: Push new user guide to master + if: ${{ github.ref_name == 'master' }} + run: | + # maybe switch to an image with git already included, for now install it here + apt update && apt install git -y + git config --global user.name '${{ env.UG_AUTHOR }}' + git config --global user.email '${{ github.actor }}@users.noreply.github.com' + ls -l + git add manual/moderncv_userguide.pdf + git commit -m "${{ env.UG_COMMIT_MESSAGE }}" + git push diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml new file mode 100644 index 0000000..b026c85 --- /dev/null +++ b/.github/workflows/codespell.yml @@ -0,0 +1,25 @@ +# Codespell configuration is within .codespellrc +--- +name: Codespell + +on: + push: + branches: [master] + pull_request: + branches: [master] + +permissions: + contents: read + +jobs: + codespell: + name: Check for spelling errors + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Annotate locations with typos + uses: codespell-project/codespell-problem-matcher@v1 + - name: Codespell + uses: codespell-project/actions-codespell@v2 diff --git a/CHANGELOG b/CHANGELOG index a02c0ed..f950fc9 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,33 @@ +version next +- Upgrade to Fontawesome 6 (#183) +- Document how to set custom strings for social command (#239) +- Correct documentation to reflect new order \moderncvcolor before \moderncvstyle (#256) + +version 2.5.1 (31 Jan 2026) +- Fix french babel breaking contemporary style (#219) +- Fix birthdate not showing up in contemporary style (#244) +- Fix Inspire HEP social link (#241) +- Change moderncvcolors.tex to a .sty file for MikTeX compatibility (#199) +- Fix error when omitting the photo in contemporary style (#201) +- Fix spacing between first and last name (#204) +- Include social icons in cover letter for styles classic, fancy and banking (#170) +- Update Oldstyle to use symbols instead of marvosym (#209) +- Added SimpleX and Threema social (#217) +- Fix spacing between first and last name again (#220) +- Make header details flush against sides for casual, classic, and contemporary + styles (#229) +- Fix tikz icon color in contemporary style (#224) +- Add contemporary CV header style to cover letter, which also makes icons + visible (#186) +- Fix minor horizontal spacing issue in 'contemporary' style header + + +version 2.4.2 (01 Feb 2025) +- Added support for additional social icons like medium. (#264) + +version 2.4.1 (18 Jul 2024) +- Fix commons/colors.tex not found in package (#194) + version 2.4.0 (08 Jul 2024) - Rewrote user guide, thanks to David Seus (#58, #106, #169). - Fixed "Underfull \hbox (badness 10000)" warning in \makecvtitle (#162). @@ -119,7 +149,7 @@ version 1.4.0 (28 Mar 2013) now use each of these multiple times, e.g. to display multiple mobile phone numbers. - Deprecated \firstname and \familyname in favour of \name{}{}. -- Added a new mechanism to select amongs different possible icon sets: +- Added a new mechanism to select among different possible icon sets: \moderncvicons{}, where can be "marvosym" (used by default in the banking, casual and classic styles) or "letters" (used by default in the oldstyle style). \moderncvicons should always be called after diff --git a/create-release-tarball.sh b/create-release-tarball.sh index 9066c00..1550249 100755 --- a/create-release-tarball.sh +++ b/create-release-tarball.sh @@ -1,5 +1,10 @@ #!/bin/sh # script to create a tarball for the files that should be in the CTAN upload +# +# do not forget to replace comments/headers beforehand +# 1. date and version in moderncv_userguide.tex +# 2. find . -type f -exec sed -i 's/$OLD_DATE $OLD_VERSION/$NEW_DATE $NEW_VERSION/g' {} \; +# 3. find . -type f -exec sed -i 's|-$OLD_YEAR moderncv maintainers (github.com/moderncv)|-$NEW_YEAR moderncv maintainers (github.com/moderncv)|g' {} \; # fetch version via git VERSION=$(git describe --tags --dirty) @@ -12,7 +17,7 @@ rm -f $TARBALL $TARBALL.gz git archive --prefix=moderncv/ HEAD > $TARBALL # remove git specific files -tar -f $TARBALL --delete moderncv/.github/ moderncv/.gitignore moderncv/create-release-tarball.sh +tar -f $TARBALL --delete moderncv/.github/ moderncv/.gitignore moderncv/create-release-tarball.sh moderncv/.codespellrc # compress gzip $TARBALL diff --git a/manual/moderncv_userguide.pdf b/manual/moderncv_userguide.pdf index c0fc877..6c91c56 100644 Binary files a/manual/moderncv_userguide.pdf and b/manual/moderncv_userguide.pdf differ diff --git a/manual/moderncv_userguide.tex b/manual/moderncv_userguide.tex index ada0536..e8b982b 100644 --- a/manual/moderncv_userguide.tex +++ b/manual/moderncv_userguide.tex @@ -1,5 +1,5 @@ -%% moderncv_userguide.tex as shipped with 2024-07-08 v2.4.0 modern curriculum vitae and letter document class (moderncv) -%% 2021 David Seus, cryptointerest@posteo.de +%% moderncv_userguide.tex as shipped with 2026-01-31 v2.5.1 modern curriculum vitae and letter document class (moderncv) +%% 2021 David Seus (cryptointerest@posteo.de), 2021-2026 moderncv maintainers (github.com/moderncv). % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License version 1.3c, @@ -9,7 +9,7 @@ \title{% \texttt{moderncv} User Guide\\ - {\small Package v2.4.0}% + {\small Package v2.5.1}% } % Cristina Sambo, \author{% @@ -18,7 +18,7 @@ moderncv community\\ {\small Documentation by David Seus}% } -\date{\today} +\date{2026-01-31} % Language and encoding options \usepackage[english]{babel} @@ -104,7 +104,7 @@ emph={[2] familydefault, sfdefault, rmdefault, inputenc, moderncv, document, bibliographyitemlabel, addresssymbol, mobilephonesymbol, fixedphonesymbol, faxphonesymbol, emailsymbol, homepagesymbol, linkedinsocialsymbol, - xingsocialsymbol, twittersocialsymbol, githubsocialsymbol, gitlabsocialsymbol, + xingsocialsymbol, twittersocialsymbol, githubsocialsymbol, gitlabsocialsymbol, mastodonsocialsymbol, codebergsocialsymbol, discordsocialsymbol, twitchsocialsymbol, youtubesocialsymbol, tiktoksocialsymbol, instagramsocialsymbol, soundcloudsocialsymbol, steamsocialsymbol, xboxsocialsymbol, playstationsocialsymbol, battlenetsocialsymbol, simplexsocialsymbol, threemasocialsymbol, stackoverflowsocialsymbol, bitbucketsocialsymbol, skypesocialsymbol, orcidsocialsymbol, researchgatesocialsymbol, arxivsocialsymbol, inspiresocialsymbol, researcheridsocialsymbol, telegramsocialsymbol, whatsappsocialsymbol, signalsocialsymbol, matrixsocialsymbol, googlescholarsocialsymbol, cvstretchability, bornsymbol }, @@ -240,17 +240,17 @@ where at most one value for each option can be passed to the document class: \end{tabular} \subsubsection*{Choosing a \texttt{moderncv} style and color} -Choose a \Moderncv style and color by adjusting the commands +Choose a \Moderncv style and color by adjusting the commands (command order is important!): \begin{lstlisting} - \moderncvstyle{