diff --git a/.env b/.env new file mode 100644 index 0000000..25bfa22 --- /dev/null +++ b/.env @@ -0,0 +1 @@ +HUGO_VERSION=0.133.1 diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml new file mode 100644 index 0000000..ac44b21 --- /dev/null +++ b/.github/workflows/push.yml @@ -0,0 +1,237 @@ +# Sample workflow for building and deploying a Hugo site to GitHub Pages +name: Create Relese with Hugo + +# run on push event +on: + push: + +# Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# set permissions for GITHUB TOKEN +permissions: + contents: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +# Default to bash +defaults: + run: + shell: bash + +jobs: + # Build job + build: + # build only if push to master, develop or tags + if: ${{ (github.ref == 'refs/heads/main') || (github.ref == 'refs/heads/develop') || (startsWith(github.ref, 'refs/tags/')) }} + runs-on: ubuntu-latest + steps: +### manual hugo setup +# - name: Install Hugo CLI +# run: | +# wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \ +# && sudo dpkg -i ${{ runner.temp }}/hugo.deb +# - name: Install Dart Sass +# run: sudo snap install dart-sass +### + - name: Checkout + uses: actions/checkout@v4 + with: + submodules: recursive +# Hugo Setup action from mareketplace +# https://github.com/marketplace/actions/hugo-setup + - name: Read .env + id: hugo-version + run: | + echo "NOW=$(date +'%Y-%m-%d_%H:%M:%S_%Z')" >> $GITHUB_ENV + cat ./.env >> $GITHUB_ENV + echo "HUGO_CACHEDIR=${{ runner.temp }}/hugo_cache" >> $GITHUB_ENV + echo "BITS_WEB=${{ runner.temp }}/BITS-${{ github.ref_name }}-webroot" >> $GITHUB_ENV + echo "BITS_FILE=${{ runner.temp }}/BITS-${{ github.ref_name }}-fileshare" >> $GITHUB_ENV + echo "BITS_MD5=${{ runner.temp }}/BITS-${{ github.ref_name }}.md5" >> $GITHUB_ENV + - name: Setup Hugo + uses: peaceiris/actions-hugo@v3 + with: + hugo-version: '${{ env.HUGO_VERSION }}' + extended: true +### + - name: Build webroot with Hugo + env: + HUGO_ENVIRONMENT: production + run: | + hugo \ + --cleanDestinationDir \ + --destination $BITS_WEB + - name: Create webroot ZIP + run: | + cd $BITS_WEB && \ + zip -r -9 \ + $BITS_WEB.zip \ + ./* \ + -x CNAME + - name: Build html with Hugo + env: + HUGO_ENVIRONMENT: html + run: | + hugo \ + --cleanDestinationDir \ + --destination $BITS_FILE + - name: Create fileshare ZIP + run: | + cd $BITS_FILE && \ + zip -r -9 \ + $BITS_FILE.zip \ + ./* \ + -x CNAME + - name: Create md5sum file + run: | + cd ${{ runner.temp }} && \ + md5sum ./BITS-*.zip >$BITS_MD5 +# create pre release +### https://github.com/slord399/action-automatic-releases + - name: "Publish Prerelease" + uses: "slord399/action-automatic-releases@v1.0.1" + if: ${{ ! startsWith(github.ref, 'refs/tags/') }} + with: + repo_token: "${{ secrets.GITHUB_TOKEN }}" + automatic_release_tag: "latest" + prerelease: true + title: "Development Build ${{ env.NOW }}" + files: | + ${{ env.BITS_WEB }}.zip + ${{ env.BITS_FILE }}.zip + ${{ env.BITS_MD5 }} +# create release + - name: "Publish Release" + uses: "slord399/action-automatic-releases@v1.0.1" + if: ${{ startsWith(github.ref, 'refs/tags/') }} + with: + repo_token: "${{ secrets.GITHUB_TOKEN }}" + prerelease: false + title: "BITS ${{ github.ref_name }}" + files: | + ${{ env.BITS_WEB }}.zip + ${{ env.BITS_FILE }}.zip + ${{ env.BITS_MD5 }} + + deploy_pre: + # deploy to gh-pages only if push to master or develop + if: ${{ (github.ref == 'refs/heads/main') || (github.ref == 'refs/heads/develop') }} + runs-on: ubuntu-latest + steps: + - name: Checkout BITS + uses: actions/checkout@v4 + with: + path: BITS-Hugo + submodules: recursive + - name: Checkout pages repo_token + uses: actions/checkout@v4 + with: + repository: BITS-Training/BITS-Training.github.io + path: BITS-Training.github.io + ref: test + token: ${{ secrets.BITS_RELEASE_ACTION_PAT }} + - name: Read .env + id: hugo-version + working-directory: ./BITS-Hugo + run: | + echo "NOW=$(date +'%Y-%m-%d_%H:%M:%S_%Z')" >> $GITHUB_ENV + cat ./.env >> $GITHUB_ENV + echo "HUGO_CACHEDIR=${{ runner.temp }}/hugo_cache" >> $GITHUB_ENV + - name: Setup Hugo + uses: peaceiris/actions-hugo@v3 + with: + hugo-version: '${{ env.HUGO_VERSION }}' + extended: true + - name: Build develop test with Hugo + env: + HUGO_ENVIRONMENT: dev + working-directory: ./BITS-Hugo + run: | + hugo \ + --cleanDestinationDir \ + --destination ../BITS-Training.github.io + - name: Setup git config + run: | + git config --global user.name "GitHub Actions" + git config --global user.email "<>" + - name: Commit and push generated develop pages + working-directory: ./BITS-Training.github.io + run: | + export COMMIT_MESSAGE="BITS test ${{ github.ref}}@${{ github.sha }}" + git add . + git commit -m "$COMMIT_MESSAGE" + git push + + deploy_release: + # deploy to gh-pages only if push to master or develop + if: ${{ startsWith(github.ref, 'refs/tags/') }} + runs-on: ubuntu-latest + steps: + - name: Checkout BITS + uses: actions/checkout@v4 + with: + path: BITS-Hugo + submodules: recursive + - name: Checkout bits-training.de source repo with token + uses: actions/checkout@v4 + with: + repository: ${{ github.repository_owner }}/bits-training.de + path: bits-training.de + ref: main + token: ${{ secrets.BITS_RELEASE_ACTION_PAT }} + - name: Checkout pages repo with token + uses: actions/checkout@v4 + with: + repository: ${{ github.repository_owner }}/BITS-Training.github.io + path: BITS-Training.github.io + ref: main + token: ${{ secrets.BITS_RELEASE_ACTION_PAT }} + - name: Read .env + id: hugo-version + working-directory: ./BITS-Hugo + run: | + echo "NOW=$(date +'%Y-%m-%d_%H:%M:%S_%Z')" >> $GITHUB_ENV + cat ./.env >> $GITHUB_ENV + echo "HUGO_CACHEDIR=${{ runner.temp }}/hugo_cache" >> $GITHUB_ENV + - name: Setup Hugo + uses: peaceiris/actions-hugo@v3 + with: + hugo-version: '${{ env.HUGO_VERSION }}' + extended: true + - name: Setup git config + run: | + git config --global user.name "GitHub Actions" + git config --global user.email "<>" + - name: Build release demo with Hugo + env: + HUGO_ENVIRONMENT: demo + working-directory: ./BITS-Hugo + run: | + hugo \ + --cleanDestinationDir \ + --destination ../bits-training.de/static/training + - name: Commit and push generated bits-training.de source + working-directory: ./bits-training.de + run: | + export COMMIT_MESSAGE="release ${{ github.ref_name }}" + git add . + git commit -m "$COMMIT_MESSAGE" + git push + - name: Build release pages with Hugo + working-directory: ./bits-training.de + run: | + hugo \ + --cleanDestinationDir \ + --destination ../BITS-Training.github.io + - name: Commit and push generated release pages + working-directory: ./BITS-Training.github.io + run: | + export COMMIT_MESSAGE="BITS ${{ github.ref_name }}" + git add . + git commit -m "$COMMIT_MESSAGE" + git push diff --git a/README.md b/README.md index 1e7c963..c1b5ce3 100644 --- a/README.md +++ b/README.md @@ -72,8 +72,6 @@ Mit folgenden Befehlen werden mit hugo aus den Markdown-Textdateien die statisch ``` Die erzeugten HTML-Dateien liegen im Ordner "public". -Die im Repository enthaltene "create-release.bat" erzeugt aus einem Tag automatisch die beiden ZIP-Dateien für die GitHub-Releases. - ## Weitere Infos Hinweise zur Installation der Releases und den sinnvollen lokalen Anpassungen der Inhalte und des Layouts liegen hier: diff --git a/content/04 lektion internet/01-Was-ist-das-Internet.de.md b/content/04 lektion internet/01-Was-ist-das-Internet.de.md index 08b883c..3cfb793 100644 --- a/content/04 lektion internet/01-Was-ist-das-Internet.de.md +++ b/content/04 lektion internet/01-Was-ist-das-Internet.de.md @@ -14,19 +14,19 @@ Das Internet ist ein schnelles, effizientes und effektives Informations- und Kom Dabei ist es vielfältig nutzbar: als schneller Informationslieferant, als Transportmedium für E-Mails, für den Datenaustausch zwischen Dienststellen und Geschäftspartnern und vieles mehr. Der wichtigste Bestandteil des Internets ist das World Wide Web (WWW), durch das man mit einem Webbrowser „surft“. {{%expand "Geschichte des Internets" %}} -Das Internet gibt es in seiner Urform seit den 70er Jahren des letzten Jahrhunderts. Damals verband es - nach der ursprünglicher Gründung durch das US-Verteidigungsministerium - unter dem Namen ARPANET Universitäten und Forschungseinrichtungen. Über die nächsten Jahrzehnte erfuhr es eine umfassende Erweiterung und eine Standardisierung. +Das Internet gibt es in seiner Urform seit den 70er Jahren des letzten Jahrhunderts. Damals verband es – nach der ursprünglichen Gründung durch das US-Verteidigungsministerium – unter dem Namen ARPANET Universitäten und Forschungseinrichtungen. Über die nächsten Jahrzehnte erfuhr es eine umfassende Erweiterung und eine Standardisierung. Einer breiten Öffentlichkeit wurde das Internet 1993 durch den Dienst „World Wide Web“ oder kurz „WWW“ zugänglich. Das WWW ermöglicht das einfache Bereitstellen und Verlinken von Informationen über die bekannten Internetseiten. {{% /expand%}} {{%expand "Technischer Aufbau des World Wide Webs" %}} -Im World Wide Web (WWW) werden Daten und Informationen auf sogenannten Web-Servern bereitgestellt, die dann von beliebigen Endgeräten vom Internet aus abgefragt werden können. Zur Abfrage wird lediglich ein geeignetes Anzeige-Programm, ein sogenannter Web-Browser, benötigt. Die bekanntesten Web-Browser sind z.B. Chrome, Firefox oder Safari sowie Microsoft Edge. +Im World Wide Web (WWW) werden Daten und Informationen auf sogenannten Web-Servern bereitgestellt, die dann von beliebigen Endgeräten vom Internet aus abgefragt werden können. Zur Abfrage wird lediglich ein geeignetes Anzeige-Programm, ein sogenannter Web-Browser, benötigt. Die bekanntesten Web-Browser sind z. B. Chrome, Firefox, Safari sowie Microsoft Edge. Die Informationen im WWW werden in einem besonderen Format auf den Web-Servern abgespeichert. Die dazu verwendete Sprache heißt HTML (Hyper Text Markup Language). Die HTML-Seiten auf den Web-Servern werden von den Web-Browsern abgerufen und grafisch dargestellt. -Dazu werden die Protokolle HTTP und HTTPS verwendet. HTTP steht dabei für „Hyper Text Transfer Protocol“. Das „S“ in HTTPS steht für „Secure“ und bedeutet, dass die Inhalte dieser Seite verschlüsselt übertragen werden, also bei der Übertragung nicht mitlesbar sind. Dies ist z.B. beim Online-Banking sehr wichtig. +Dazu werden die Protokolle HTTP und HTTPS verwendet. HTTP steht dabei für „Hyper Text Transfer Protocol“. Das „S“ in HTTPS steht für „Secure“ und bedeutet, dass die Inhalte dieser Seite verschlüsselt übertragen werden, also bei der Übertragung nicht mitlesbar sind. Dies ist z. B. beim Online-Banking sehr wichtig. -Neben dem WWW sind Messaging-Apps, Streamingdienste Spiele und E-Mails die wichtigsten Dienste im Internet. +Neben dem WWW sind Messaging-Apps, Streamingdienste, Spiele und E-Mails die wichtigsten Dienste im Internet. {{% /expand%}} {{% notice tip %}} diff --git a/create-release.bat b/create-release.bat deleted file mode 100644 index 06ca98c..0000000 --- a/create-release.bat +++ /dev/null @@ -1,87 +0,0 @@ -@echo off -if "%~1"=="" ( - echo Version TAG nicht angegeben! - echo. - echo Bitte als paramenter angeben. z.B. v6.0.0-beta4 - echo Benutze den Befehl 'git tag' zum Anzeigen der verfuegbaren TAGs - pause - exit 1 -) - -FOR /F "tokens=*" %%a in ('git branch --show-current') do SET CURBR=%%a - -echo TAG %1 wird ausgecheckt... -git checkout %1 -if "%ERRORLEVEL%" == "1" ( - echo Fehler beim Auschecken des TAGs %1. Bitte pruefen! - pause - exit 1 -) -echo Submodule werden aktualisiert -git submodule update --init --recursive -if "%ERRORLEVEL%" == "1" ( - echo Fehler beim aktualisieren der Submodule. Bitte pruefen! - pause - exit 1 -) - -echo. -echo BITS Release wird in den Verzeichnissen '..\BITS-%1-webroot' erstellt... -hugo --cleanDestinationDir --destination ..\BITS-%1-webroot -if "%ERRORLEVEL%" == "1" ( - echo Fehler beim Erstellen der 'webroot' Version. Bitte pruefen! - pause - exit 1 -) -del ..\BITS-%1-webroot\CNAME - -echo. -echo Komprimiere BITS-%1-webroot -"c:\Program Files\7-Zip\7z.exe" -tzip -mx9 a ..\BITS-%1-webroot.zip ..\BITS-%1-webroot\* -if "%ERRORLEVEL%" == "1" ( - echo Fehler beim komprimieren der 'webroot' Version. Bitte pruefen! - pause - exit 1 -) -rd /s/q ..\BITS-%1-webroot\ - -echo. -echo BITS Release wird in den Verzeichnissen '..\BITS-%1-fileshare' erstellt... -hugo --environment html --cleanDestinationDir --destination ..\BITS-%1-fileshare -if "%ERRORLEVEL%" == "1" ( - echo "Fehler beim Erstellen der 'fileshare' Version. Bitte pruefen!" - pause - exit 1 -) -del ..\BITS-%1-fileshare\CNAME - -echo. -echo Komprimiere BITS-%1-fileshare -"c:\Program Files\7-Zip\7z.exe" -tzip -mx9 a ..\BITS-%1-fileshare.zip ..\BITS-%1-fileshare\* -if "%ERRORLEVEL%" == "1" ( - echo Fehler beim komprimieren der 'fileshare' Version. Bitte pruefen! - pause - exit 1 -) -rd /s/q ..\BITS-%1-fileshare\ - -echo. -echo erstelle MD5SUM Hashes -powershell -command "get-filehash ..\BITS-*.zip -algorithm md5 | Foreach-Object {$file = $_.Path -split '\\'; write-host $_.hash $file[-1] }">..\BITS-%1.md5 -rem md5sum ../BITS-*.zip >..\BITS-%1.md5 -if "%ERRORLEVEL%" == "1" ( - echo Fehler beim erstellen der MD5SUM. Bitte pruefen! - pause -) - -echo "vorheriger Branch %CURBR% wird wieder ausgecheckt..." -git checkout %CURBR% -echo Submodule werden auf alten stand gebracht. -git submodule update --init --recursive -if "%ERRORLEVEL%" == "1" ( - echo Fehler beim aktualisieren der Submodule. Bitte pruefen! - pause -) - -echo. -echo fertig.