Skip to content

Commit

Permalink
Setup Anki Action (#26)
Browse files Browse the repository at this point in the history
* 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 8e2d3ad, reversing
changes made to 6cf2f8c.

* Revert "Revert "Merge branch 'main' of https://github.com/nukerxy/dhge-pi19-sem6""

This reverts commit 2098e50.

* patch lint

* reworked anki.list documentation

* anki.list example

demonstrate that APKG filenames can differ from Markdown names

Co-authored-by: Max <[email protected]>
  • Loading branch information
jsuesse and ZeroPointMax authored Feb 19, 2022
1 parent a697ddc commit 82ea079
Show file tree
Hide file tree
Showing 5 changed files with 74 additions and 3 deletions.
48 changes: 48 additions & 0 deletions .github/workflows/anki.yml
Original file line number Diff line number Diff line change
@@ -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/[email protected] # 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
7 changes: 5 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
!/.mdl.rb
!/.mdlrc


# github workflows #############################################################

!/.github/
Expand Down Expand Up @@ -48,4 +47,8 @@

!.vscode
!.vscode/settings.json
!.vscode/extensions.json
!.vscode/extensions.json

# actions lists #################################################################

!*.list
19 changes: 18 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
```

3 changes: 3 additions & 0 deletions anki.list
Original file line number Diff line number Diff line change
@@ -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
Empty file added pdf.list
Empty file.

0 comments on commit 82ea079

Please sign in to comment.