From 82ea0799fb05cc8b4c8ce8793cd8ffe1d5d97ad8 Mon Sep 17 00:00:00 2001 From: Jonathan <26322754+nukerxy@users.noreply.github.com> Date: Sat, 19 Feb 2022 11:29:51 +0100 Subject: [PATCH] Setup Anki Action (#26) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * copy old main.yml * don't ignore lists * rohbau * wip * test this * oops * try again * fix path * use while loop instead * yaml syntax * Update anki.yml * Übeltäter unescaped Semikolon * Update anki.yml * Update anki.yml * change to fixed names * test-stand * testing * add newline * add doku * patch lint * Revert "Merge branch 'main' of https://github.com/nukerxy/dhge-pi19-sem6" This reverts commit 8e2d3ad8f460202c7576618e859c7024c2a6f8db, reversing changes made to 6cf2f8ca47ba6ece2844a240a3ca50d49484133d. * Revert "Revert "Merge branch 'main' of https://github.com/nukerxy/dhge-pi19-sem6"" This reverts commit 2098e50e31116402675a15b1a08c9f1fed384762. * patch lint * reworked anki.list documentation * anki.list example demonstrate that APKG filenames can differ from Markdown names Co-authored-by: Max --- .github/workflows/anki.yml | 48 ++++++++++++++++++++++++++++++++++++++ .gitignore | 7 ++++-- README.md | 19 ++++++++++++++- anki.list | 3 +++ pdf.list | 0 5 files changed, 74 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/anki.yml create mode 100644 anki.list create mode 100644 pdf.list diff --git a/.github/workflows/anki.yml b/.github/workflows/anki.yml new file mode 100644 index 0000000..dffe6b3 --- /dev/null +++ b/.github/workflows/anki.yml @@ -0,0 +1,48 @@ +name: Create Anki Decks release from markdown + +on: + push: + branches: + - main + pull_request: + workflow_dispatch: + +jobs: + convert_via_md2apkg: + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v2 + with: + node-version: '14' + - run: npm install -g md2apkg + - run: mkdir output + - run: | + while read -r line;do + inputpath=$(echo $line | awk -F\; '{print $1}'); + name=$(echo $line | awk -F\; '{print $2}'); + md2apkg -o output/${name} ${inputpath}; + done < "anki.list" + - uses: actions/upload-artifact@master # upload decks as an artifact + with: + name: output + path: output + release_decks: + runs-on: ubuntu-20.04 + needs: convert_via_md2apkg + if: github.ref == 'refs/heads/main' # only publish if commited to the main branch + steps: + - name: Retrieve saved Docker image + uses: actions/download-artifact@v2 + with: + name: output + path: output + - uses: meeDamian/github-release@2.0 # create/override a release and attach apkgs + with: + token: ${{ secrets.ACCESS_TOKEN }} + tag: anki-release + name: Anki Decks + body: Dieses Release wurde automatisch erstellt + gzip: false + files: output/[A-Z]*[A-Z]-[A-Z]*[A-Z].apkg + allow_override: true diff --git a/.gitignore b/.gitignore index 7bedb1a..8dd015f 100644 --- a/.gitignore +++ b/.gitignore @@ -8,7 +8,6 @@ !/.mdl.rb !/.mdlrc - # github workflows ############################################################# !/.github/ @@ -48,4 +47,8 @@ !.vscode !.vscode/settings.json -!.vscode/extensions.json \ No newline at end of file +!.vscode/extensions.json + +# actions lists ################################################################# + +!*.list \ No newline at end of file diff --git a/README.md b/README.md index 559ccc5..d46ef6a 100644 --- a/README.md +++ b/README.md @@ -83,5 +83,22 @@ Ansonsten können Formeln in ihrer vollen Pracht nur in den PDFs betrachtet werd ### Anki-Decks -Zusätzlich zu den PDFs generieren wir zu allen Modulen Anki-Decks. +Zusätzlich zu den PDFs generieren wir zu ausgewählten Modulen Anki-Decks. Damit diese möglichst problemlos generiert werden können, sollten auch die Markdown Extensions [hier](https://github.com/Steve2955/md2apkg) beachtet werden. + +Um für ein Dokument ein Anki-Deck zu erstellen, muss dieses in die `anki.list` aufgenommen werden. +Dabei muss folgende Syntax streng eingehalten werden: + +- **pro Zeile** wird **genau ein** Dokument angegeben +- Eine Zeile besteht aus dem **relativen Pfad** (vom Repo-Stammverzeichnis aus) zur gewünschten Markdown-Datei, gefolgt von einem **Semikolon als Trennzeichen**, gefolgt vom **Dateinamen ohne Pfad** für das Anki-Deck +- es befinden sich **keine Leerzeichen** in einer Zeile +- die Datei **muss** mit einer **Leerzeile enden** + +**Beispiel:** + +```text +./SCH-IT/appendix/LKF.md;SCHIT-LKF.apkg +./PRO-K/README.md;PRO.apkg + +``` + diff --git a/anki.list b/anki.list new file mode 100644 index 0000000..28c657d --- /dev/null +++ b/anki.list @@ -0,0 +1,3 @@ +./ISR-MUELLER/README.md;ISR-MUELLER.apkg +./CB-KUSCHE/README.md;CB-KUSCHE.apkg +./PRO-STRASS/README.md;PRO-STRASS.apkg diff --git a/pdf.list b/pdf.list new file mode 100644 index 0000000..e69de29