Skip to content

Commit

Permalink
here we go again
Browse files Browse the repository at this point in the history
for one final round
  • Loading branch information
Steve2955 committed Feb 6, 2022
0 parents commit 79aabd4
Show file tree
Hide file tree
Showing 7 changed files with 241 additions and 0 deletions.
18 changes: 18 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: markdownlint

on:
push:
branches:
- main
pull_request:

jobs:
linting:

runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@main
- name: Run mdl
uses: actionshub/markdownlint@main
47 changes: 47 additions & 0 deletions .github/workflows/pandoc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Create PDF release from markdown

on:
push:
branches:
- main
pull_request:
workflow_dispatch:

jobs:
convert_via_pandoc:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- run: |
mkdir .old &&
rsync -vr ./* .old/ --exclude .old &&
for f in [A-Z]*[A-Z]-[A-Z]*[A-Z]/README.md; do awk '/!\[/{gsub(/<!--/,"{");gsub(/-->/,"}")};{gsub("<!--pagebreak-->","\\pagebreak")};{gsub("<!--newpage-->","\\newpage")};{gsub("<!--clearpage-->","\\clearpage")};{gsub("<!----------","---")};{gsub("---------->","...")};{print}' .old/${f} > ${f} ; done
- run: |
mkdir output
- uses: docker://rstropek/pandoc-latex:latest # generate pdfs using pandoc
with:
entrypoint: /bin/sh
args: -c "for f in [A-Z]*[A-Z]-[A-Z]*[A-Z]/README.md; do d=$(echo ${f} | awk -F/ '{print $1}');echo ${d} ${f} $PATH; pandoc --output=output/${d}.pdf --resource-path=${d}/ --template https://raw.githubusercontent.com/Wandmalfarbe/pandoc-latex-template/v2.0.0/eisvogel.tex --pdf-engine=xelatex --listings -f markdown+raw_tex --verbose ${f} || exit 1; done"
- uses: actions/upload-artifact@master # upload pdfs as an artifact
with:
name: output
path: output
release_pdfs:
runs-on: ubuntu-20.04
needs: convert_via_pandoc
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 a pdf
with:
token: ${{ secrets.ACCESS_TOKEN }}
tag: pdf-release
name: PDFs
body: Dieses Release wurde automatisch erstellt
gzip: false
files: output/[A-Z]*[A-Z]-[A-Z]*[A-Z].pdf
allow_override: true
17 changes: 17 additions & 0 deletions .github/workflows/toc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
on:
pull_request:
branches:
- main
name: TOC Generator
jobs:
generateTOC:
runs-on: ubuntu-latest
steps:
- uses: technote-space/[email protected]
with:
GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }}
TOC_TITLE: "**Inhaltsverzeichnis**"
# Git commit name.
COMMIT_NAME: "TOCGEN"
CREATE_PR: false
TARGET_PATHS: "./[A-Z]*[A-Z]-[A-Z]*[A-Z]/README.md"
51 changes: 51 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# ignore everything by default #################################################

**

# root-level README ############################################################

!/README.md
!/.mdl.rb
!/.mdlrc


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

!/.github/
!/.github/workflows
!/.github/workflows/*.yml

# modul folders ################################################################

!/[A-Z]*[A-Z]-[A-Z]*[A-Z]/
!/[A-Z]*[A-Z]-[A-Z]*[A-Z]/README.md

# appendix folder ##############################################################

!/[A-Z]*[A-Z]-[A-Z]*[A-Z]/appendix
!/[A-Z]*[A-Z]-[A-Z]*[A-Z]/appendix/*.md
!/[A-Z]*[A-Z]-[A-Z]*[A-Z]/appendix/assets/
!/[A-Z]*[A-Z]-[A-Z]*[A-Z]/appendix/assets/*.svg
!/[A-Z]*[A-Z]-[A-Z]*[A-Z]/appendix/assets/*.png
!/[A-Z]*[A-Z]-[A-Z]*[A-Z]/appendix/assets/*.jpg

# assets folder ################################################################

!/[A-Z]*[A-Z]-[A-Z]*[A-Z]/assets
!/[A-Z]*[A-Z]-[A-Z]*[A-Z]/assets/*.svg
!/[A-Z]*[A-Z]-[A-Z]*[A-Z]/assets/*.png
!/[A-Z]*[A-Z]-[A-Z]*[A-Z]/assets/*.jpg

# extras folder ################################################################

!/[A-Z]*[A-Z]-[A-Z]*[A-Z]/extra
!/[A-Z]*[A-Z]-[A-Z]*[A-Z]/extra/**

# just in case #################################################################
!.gitignore

# vscode ######################################################################

!.vscode
!.vscode/settings.json
!.vscode/extensions.json
26 changes: 26 additions & 0 deletions .mdl.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Enable all rules by default
all

# Allow any Heading styles
exclude_rule 'MD003'

# First line of the file is not required to be the top-level heading
exclude_rule 'MD041'

# Allow the use of emphasis for small-headers
exclude_rule 'MD036'

# Allow multiple top-level headers per file
exclude_rule 'MD025'

# Allow the used of trailing punctuation in headers
exclude_rule 'MD026'

# Disable line length
exclude_rule 'MD013'

# Extend line length, since each sentence should be on a separate line.
# rule 'MD013', :line_length => 200

# Prefix ordered lists with incremental numbers instead of all ones
rule 'MD029', style: 'ordered'
1 change: 1 addition & 0 deletions .mdlrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
style '.mdl.rb'
81 changes: 81 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# DHGE - Praktische Informatik - Matrikel 19 - Semester 6

Dieses Repository ist ein Projekt von Studierenden des Studiengangs "Praktische Informatik" der Dualen Hochschule Gera-Eisenach.
Hier werden alle Mitschriften der einzelnen Modulen gesammelt.
Die Skripte liegen im `markdown`-Format vor.
Zur besseren Handhabung (und weil Github nur begrenzte `markdown`-Features bereitstellt)
werden diese zusätzlich automatisch in [PDFs](https://github.com/importPI19fromDHGE/dhge-pi19-sem6/releases) umgewandelt und zur Verfügung gestellt.

## Contributing (andere Jahrgänge)

Studierende anderer Jahrgänge sind dazu eingeladen, dieses Projekt als Grundlage für ihr eigenes, matrikelspezifsiches Repository zu nutzen.
Du kannst folgendermaßen vorgehen:

- Lerne in jedem Fall Git und Github kennen, frage deine Kommilitonen, frage das [Internet](https://rogerdudler.github.io/git-guide/index.de.html), frage uns diesbezüglich.
- Lerne außerdem hilfreiche Software kennen: Github Desktop, Visual Studio Code / andere Editoren, Git Bash, [git-fork](https://git-fork.com/), GitKraken etc.
- Beantrage ggf. [Github Student Developer Pack](https://education.github.com/students) (optional, aber nice to have)
- **Such dir engagierte Leute** und
- Informiere dich bei deinen Kommilitonen, ob schon jemand ein Repo / eine Orga angelegt hat. Falls wir (PI19) das mitkriegen folgt hier ein Link:
- PI20: [importPI20fromDHGE](https://github.com/importPI20fromDHGE) (Ansprechpartner: J. Müller, PIB20)
- Es gibt schon ein Repo? Dort weiterlesen.
- Es gibt noch kein Repo? Übernimm Verantwortung:
1. Lege eine Organisation mit passendem Namen und Einstellungen an. (Wie wäre es mit importPI20fromDHGE?)
2. Forke dieses Repository mit der Organisation als Besitzer, ändere ggf. den Namen.
2. Nimm alle Sicherheitseinstellungen vor, stell das Repo auf Public, **lade deine Kommilitonen zur Organsiation ein**, *verwalte Rechte*.
4. Klone (git clone) das neue Repo lokal auf deinem Computer.
5. Passe ggf. das Top-Level README.md an.

Und dann kann es losgehen!

## Contributing (PI 19)

Alle Kommilitonen PI19 sind dazu eingeladen, ihre eigenen Beiträge zu diesem Projekt zu leisten und ihre Ideen einzubringen. Wenn du einen Beitrag leisten willst, kannst du wie folgt vorgehen:

1. Wenn du hier neu bist, erstelle auf jeden Fall ersteinmal [ein Issue](https://github.com/importPI19fromDHGE/dhge-pi19-sem6/issues/new). Dann können wir uns gerne über deine Idee austauschen.
2. `git clone` diese Repo und erstelle mit `git checkout -b <branchname>` eine neue Branch
3. Implementiere deine Idee. Bei Fragen kannst du dich gerne über das Issue an uns wenden.
4. Erstelle eine Pull Request, markiere dabei via @mention die Personen aus dem Issue und warte auf Feedback.

## Module

- [ToDo](./ToDo)

## Markdown-Erweiterungen

Alle Skripte in diesem Repository sind im `markdown`-Format verfasst. Für dieses existieren [viele verschiedene Standards](https://de.wikipedia.org/wiki/Markdown#Weiterentwicklungen,_Variationen_und_Erg%C3%A4nzungen).
Auf Github selbst ist der Funktionsumfang von `markdown` im Vergleich zu anderen Standards deutlich eingeschränkt.
Es ist beispielsweise nicht möglich die Größe von Bilder zu definieren, Metadaten für Dokumente anzugeben oder Mathematische Formel darzustellen.
Aus diesem Grund wird [`pandoc`](https://pandoc.org/) verwendet, um `markdown`-Dateien mit vielen Funktionserweiterungen in PDFs umzuwandeln.
Damit eine Kompatibilität zum Github-`markdown` haben wir eigene Erweiterungen definiert, die im Folgenden beschrieben werden:

### Markdown-Linter

In unseren Github Repositories kommt ein sogenannter Linter zum Einsatz. Dieser sorgt dafür, dass bei allen Markdown Dokumenten eine einheitliche Formatierung eingehalten wird.
Damit bereits bei der lokalen Bearbeitung etwaige Fehler festgestellt werden können, empfehlen wir die Verwendung der VSCode-Extension [markdownlint von David Anson](https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint).
Dieses Repository enthält für die Extension bereits eine vorgefertigte Konfiguration, die automatisch verwendet wird.

### Bildgröße

```md
![Bildbeschreibung](assets/a.png)<!--width=200px-->
![Bildbeschreibung](assets/b.png)<!--height=200px-->
```

### Pagebreaks usw

```md
<!--pagebreak-->
<!--newpage-->
<!--clearpage-->
```

### Mathematische Formel

Github unterstützt keine mathematischen Formeln.
Als Workaround gibt es eine [Erweiterung für Chrome](https://github.com/orsharir/github-mathjax).
Ansonsten können Formeln in ihrer vollen Pracht nur in den PDFs betrachtet werden.

### Anki-Decks

Zusätzlich zu den PDFs generieren wir zu allen 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.

0 comments on commit 79aabd4

Please sign in to comment.