Initial check-in after refactoring to use Hugo site generator with ReLearn template. HTTP Status Codes page not done--nor adwords added.
This commit is contained in:
		
							
								
								
									
										14
									
								
								themes/relearn/.github/actions/build_site/action.yaml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								themes/relearn/.github/actions/build_site/action.yaml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,14 @@ | ||||
| name: Build site | ||||
| description: Builds the Hugo exampleSite for later deploy on GitHub-Pages | ||||
| runs: | ||||
|   using: composite | ||||
|   steps: | ||||
|     - name: Setup Hugo | ||||
|       uses: peaceiris/actions-hugo@v2 | ||||
|       with: | ||||
|         hugo-version: 'latest' | ||||
|  | ||||
|     - name: Build site | ||||
|       shell: bash | ||||
|       run: | | ||||
|         hugo --source ${GITHUB_WORKSPACE}/exampleSite --destination ${GITHUB_WORKSPACE}/../public --cleanDestinationDir --gc --baseURL https://${{ github.repository_owner }}.github.io/${{ github.event.repository.name }}/ --theme ${GITHUB_WORKSPACE} | ||||
							
								
								
									
										73
									
								
								themes/relearn/.github/actions/check_milestone/action.yaml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								themes/relearn/.github/actions/check_milestone/action.yaml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,73 @@ | ||||
| name: Check milestone | ||||
| description: Checks if the given milestone and its according tag are valid to be released | ||||
| inputs: | ||||
|   milestone: | ||||
|     description: Milestone for this release | ||||
|     required: true | ||||
|   github_token: | ||||
|     description: Secret GitHub token | ||||
|     required: true | ||||
| outputs: | ||||
|   outcome: | ||||
|     description: Result of the check, success or failure | ||||
|     value: ${{ steps.outcome.outputs.outcome }} | ||||
| runs: | ||||
|   using: composite | ||||
|   steps: | ||||
|     - name: Get tag uniqueness | ||||
|       id: unique_tag | ||||
|       uses: mukunku/tag-exists-action@v1.0.0 | ||||
|       with: | ||||
|         tag: ${{ env.MILESTONE }} | ||||
|       env: | ||||
|         MILESTONE: ${{ inputs.milestone }} | ||||
|         GITHUB_TOKEN: ${{ inputs.github_token }} | ||||
|  | ||||
|     - name: Get closed issues for milestone | ||||
|       id: closed_issues | ||||
|       uses: octokit/graphql-action@v2.x | ||||
|       with: | ||||
|         query: | | ||||
|           query { | ||||
|             search(first: 1, type: ISSUE, query: "user:${{ github.repository_owner }} repo:${{ github.event.repository.name }} milestone:${{ env.MILESTONE }} state:closed") { | ||||
|               issueCount | ||||
|             } | ||||
|           } | ||||
|       env: | ||||
|         MILESTONE: ${{ inputs.milestone }} | ||||
|         GITHUB_TOKEN: ${{ inputs.github_token }} | ||||
|  | ||||
|     - name: Get open issues for milestone | ||||
|       id: open_issues | ||||
|       uses: octokit/graphql-action@v2.x | ||||
|       with: | ||||
|         query: | | ||||
|           query { | ||||
|             search(first: 1, type: ISSUE, query: "user:${{ github.repository_owner }} repo:${{ github.event.repository.name }} milestone:${{ env.MILESTONE }} state:open") { | ||||
|               issueCount | ||||
|             } | ||||
|           } | ||||
|       env: | ||||
|         MILESTONE: ${{ inputs.milestone }} | ||||
|         GITHUB_TOKEN: ${{ inputs.github_token }} | ||||
|  | ||||
|     - name: Set outcome | ||||
|       id: outcome | ||||
|       shell: bash | ||||
|       run: | | ||||
|         if [ "${{ fromJSON(steps.closed_issues.outputs.data).search.issueCount > 0 && fromJSON(steps.open_issues.outputs.data).search.issueCount == 0 && steps.unique_tag.outputs.exists == 'false' }}" = "true" ]; then | ||||
|           echo "::set-output name=outcome::success" | ||||
|         else | ||||
|           echo "::set-output name=outcome::failure" | ||||
|         fi | ||||
|  | ||||
|     - name: Log results and exit | ||||
|       shell: bash | ||||
|       run: | | ||||
|         echo outcome          : ${{ steps.outcome.outputs.outcome }} | ||||
|         echo has unique tag   : ${{ steps.unique_tag.outputs.exists == 'false' }} | ||||
|         echo has closed issues: ${{ fromJSON(steps.closed_issues.outputs.data).search.issueCount > 0 }} | ||||
|         echo has open issues  : ${{ fromJSON(steps.open_issues.outputs.data).search.issueCount > 0 }} | ||||
|         if [ "${{ steps.outcome.outputs.outcome }}" = "failure" ]; then | ||||
|           exit 1 | ||||
|         fi | ||||
							
								
								
									
										17
									
								
								themes/relearn/.github/actions/deploy_site/action.yaml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								themes/relearn/.github/actions/deploy_site/action.yaml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,17 @@ | ||||
| name: Deploy site | ||||
| description: Deploys a built site on GitHub-Pages | ||||
| inputs: | ||||
|   github_token: | ||||
|     description: Secret GitHub token | ||||
|     required: true | ||||
| runs: | ||||
|   using: composite | ||||
|   steps: | ||||
|     - name: Deploy site | ||||
|       uses: peaceiris/actions-gh-pages@v3 | ||||
|       with: | ||||
|         github_token: ${{ env.GITHUB_TOKEN }} | ||||
|         publish_dir: ${{ env.GITHUB_WORKSPACE }}/../public | ||||
|       env: | ||||
|         GITHUB_TOKEN: ${{ inputs.github_token }} | ||||
|         GITHUB_WORKSPACE: ${{ github.workspace }} | ||||
							
								
								
									
										77
									
								
								themes/relearn/.github/actions/release_milestone/action.yaml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										77
									
								
								themes/relearn/.github/actions/release_milestone/action.yaml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,77 @@ | ||||
| name: Release milestone | ||||
| description: Creates a release with changelog and tag out of a given milestone | ||||
| inputs: | ||||
|   milestone: | ||||
|     description: Milestone for this release | ||||
|     required: true | ||||
|   github_token: | ||||
|     description: Secret GitHub token | ||||
|     required: true | ||||
| runs: | ||||
|   using: composite | ||||
|   steps: | ||||
|     - name: Setup node | ||||
|       uses: actions/setup-node@v2 | ||||
|       with: | ||||
|         node-version: '16' | ||||
|  | ||||
|     - name: Close milestone | ||||
|       uses: Akkjon/close-milestone@v2 | ||||
|       with: | ||||
|         milestone_name: ${{ env.MILESTONE }} | ||||
|       env: | ||||
|         MILESTONE: ${{ inputs.milestone }} | ||||
|         GITHUB_TOKEN: ${{ inputs.github_token }} | ||||
|  | ||||
|     - name: Create provisionary tag | ||||
|       shell: bash | ||||
|       env: | ||||
|         MILESTONE: ${{ inputs.milestone }} | ||||
|         GITHUB_TOKEN: ${{ inputs.github_token }} | ||||
|       run: | | ||||
|         git config user.name "GitHub Actions Bot" | ||||
|         git config user.email "<>" | ||||
|         git tag --message "" "$MILESTONE" | ||||
|         git push origin "$MILESTONE" | ||||
|  | ||||
|     - name: Update changelog | ||||
|       shell: bash | ||||
|       env: | ||||
|         MILESTONE: ${{ inputs.milestone }} | ||||
|         GITHUB_TOKEN: ${{ inputs.github_token }} | ||||
|         GREN_GITHUB_TOKEN: ${{ inputs.github_token }} | ||||
|       run: | | ||||
|         echo "$MILESTONE" > layouts/partials/version.html | ||||
|         npx github-release-notes@0.17.1 changelog --generate --override --tags=all | ||||
|         git add * | ||||
|         git commit --message "Ship tag $MILESTONE" | ||||
|         git push origin main | ||||
|  | ||||
|     - name: Create final tag | ||||
|       shell: bash | ||||
|       env: | ||||
|         MILESTONE: ${{ inputs.milestone }} | ||||
|         GITHUB_TOKEN: ${{ inputs.github_token }} | ||||
|       run: | | ||||
|         git tag --force --message "" "$MILESTONE" | ||||
|         git push --force origin "$MILESTONE" | ||||
|  | ||||
|     - name: Publish release | ||||
|       shell: bash | ||||
|       env: | ||||
|         MILESTONE: ${{ inputs.milestone }} | ||||
|         GREN_GITHUB_TOKEN: ${{ inputs.github_token }} | ||||
|       run: | | ||||
|         npx github-release-notes@0.17.1 release --tags "$MILESTONE" | ||||
|  | ||||
|     - name: Update version number to mark non-release version | ||||
|       shell: bash | ||||
|       env: | ||||
|         MILESTONE: ${{ inputs.milestone }} | ||||
|         GITHUB_TOKEN: ${{ inputs.github_token }} | ||||
|         GREN_GITHUB_TOKEN: ${{ inputs.github_token }} | ||||
|       run: | | ||||
|         echo "$MILESTONE+tip" > layouts/partials/version.html | ||||
|         git add * | ||||
|         git commit --message "Mark non-release version" | ||||
|         git push origin main | ||||
							
								
								
									
										28
									
								
								themes/relearn/.github/contributing.md
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								themes/relearn/.github/contributing.md
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,28 @@ | ||||
| # Guidelines | ||||
|  | ||||
| ## For Development | ||||
|  | ||||
| - help us putting your code into production by opening a meaningful issue | ||||
| - stay simple for the user by focusing on the mantra "convention over configuration" | ||||
| - at installation the site should work reasonable without (m)any configuration | ||||
| - stay close to the Hugo way | ||||
| - don't use npm or any preprocessing, our contributors may not be front-end developers | ||||
| - document new features in exampleSite | ||||
| - don't break existing features if you don't have to | ||||
| - remove reported issue from the browser's console | ||||
| - be compatible to IE11, at least for main functionality, for Javascript this means: | ||||
|   - test in IE11 | ||||
|   - check caniuse.com | ||||
|   - don't use arrow functions | ||||
|   - don't use template literals | ||||
|   - don't use other fancy new ES5/6 stuff | ||||
|  | ||||
| ## For Release | ||||
|  | ||||
| - create releases following [semver policy](https://semver.org/) | ||||
| - we are using GitHub actions to create new releases | ||||
| - a release is based on a milestone named like the release itself - just the version number, eg: 1.1.0 | ||||
| - remember that there have to be at least one closed issue assigned to the milestone | ||||
| - the release action only runs successfully if all assigned issues for this milestone are closed | ||||
| - the milestone itself will be closed during execution of the action | ||||
| - a once released milestone can not be released again | ||||
							
								
								
									
										20
									
								
								themes/relearn/.github/workflows/build.yaml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								themes/relearn/.github/workflows/build.yaml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,20 @@ | ||||
| name: Build | ||||
|  | ||||
| on: | ||||
|   push: # Build on all pushes but only deploy for main branch | ||||
|   pull_request: # Build on all PRs regardless what branch | ||||
|   workflow_dispatch: # Allow this task to be manually started (you'll never know) | ||||
|  | ||||
| jobs: | ||||
|   ci: | ||||
|     name: Run build | ||||
|     runs-on: ubuntu-latest | ||||
|     if: github.event_name != 'push' || (github.event_name == 'push' && github.ref != 'refs/heads/main') | ||||
|     steps: | ||||
|       - name: Checkout repo | ||||
|         uses: actions/checkout@v2 | ||||
|         with: | ||||
|           submodules: true  # Fetch Hugo themes (true OR recursive) | ||||
|  | ||||
|       - name: Build site | ||||
|         uses: ./.github/actions/build_site | ||||
							
								
								
									
										25
									
								
								themes/relearn/.github/workflows/deploy.yaml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								themes/relearn/.github/workflows/deploy.yaml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,25 @@ | ||||
| name: Deploy | ||||
|  | ||||
| on: | ||||
|   push: # Build on all pushes but only deploy for main branch | ||||
|   workflow_dispatch: # Allow this task to be manually started (you'll never know) | ||||
|  | ||||
| jobs: | ||||
|   deploy: | ||||
|     name: Run deploy | ||||
|     runs-on: ubuntu-latest | ||||
|     if: github.event_name != 'push' || (github.event_name == 'push' && github.ref == 'refs/heads/main') | ||||
|     steps: | ||||
|       - name: Checkout repo | ||||
|         uses: actions/checkout@v2 | ||||
|         with: | ||||
|           submodules: true  # Fetch Hugo themes (true OR recursive) | ||||
|           fetch-depth: 0    # Fetch all history for .GitInfo and .Lastmod | ||||
|  | ||||
|       - name: Build site | ||||
|         uses: ./.github/actions/build_site | ||||
|  | ||||
|       - name: Deploy site | ||||
|         uses: ./.github/actions/deploy_site | ||||
|         with: | ||||
|           github_token: ${{ secrets.GITHUB_TOKEN }} | ||||
							
								
								
									
										42
									
								
								themes/relearn/.github/workflows/release.yaml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								themes/relearn/.github/workflows/release.yaml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,42 @@ | ||||
| name: Release | ||||
|  | ||||
| on: | ||||
|   workflow_dispatch: | ||||
|     inputs: | ||||
|       milestone: | ||||
|         description: 'Milestone for this release' | ||||
|         required: true | ||||
|  | ||||
| jobs: | ||||
|   release: | ||||
|     name: Run release | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - name: Checkout repo | ||||
|         uses: actions/checkout@v2 | ||||
|         with: | ||||
|           submodules: true  # Fetch Hugo themes (true OR recursive) | ||||
|           fetch-depth: 0    # Fetch all history for .GitInfo and .Lastmod | ||||
|  | ||||
|       - name: Check milestone | ||||
|         id: check | ||||
|         uses: ./.github/actions/check_milestone | ||||
|         with: | ||||
|           milestone: ${{ github.event.inputs.milestone }} | ||||
|           github_token: ${{ secrets.GITHUB_TOKEN }} | ||||
|  | ||||
|       - name: Create release | ||||
|         if: ${{ steps.check.outputs.outcome == 'success' }} | ||||
|         uses: ./.github/actions/release_milestone | ||||
|         with: | ||||
|           milestone: ${{ github.event.inputs.milestone }} | ||||
|           github_token: ${{ secrets.GITHUB_TOKEN }} | ||||
|  | ||||
|       # We need to deploy the site again to show the updated changelog | ||||
|       - name: Build site | ||||
|         uses: ./.github/actions/build_site | ||||
|  | ||||
|       - name: Deploy site | ||||
|         uses: ./.github/actions/deploy_site | ||||
|         with: | ||||
|           github_token: ${{ secrets.GITHUB_TOKEN }} | ||||
		Reference in New Issue
	
	Block a user