mirror of
https://github.com/privacyguides/privacyguides.org.git
synced 2025-07-02 09:42:35 +00:00
feat: Generate homepage topics on server side (#2766)
This commit is contained in:
18
.github/workflows/build.yml
vendored
18
.github/workflows/build.yml
vendored
@ -176,6 +176,24 @@ jobs:
|
||||
run: |
|
||||
eval ./run.sh --build --lang=${{ inputs.lang }} "$EXTRA_FLAGS"
|
||||
|
||||
- name: Run index-generation.sh for top posts
|
||||
if: inputs.lang == 'en'
|
||||
run: |
|
||||
bash index-generation.sh \
|
||||
--source='https://discuss.privacyguides.net/top.json?period=weekly' \
|
||||
--tag="top posts" \
|
||||
--destination="./site/en/index.html" \
|
||||
--count=3
|
||||
|
||||
- name: Run index-generation.sh for latest posts
|
||||
if: inputs.lang == 'en'
|
||||
run: |
|
||||
bash index-generation.sh \
|
||||
--source='https://discuss.privacyguides.net/latest.json' \
|
||||
--tag="latest posts" \
|
||||
--destination="./site/en/index.html" \
|
||||
--count=12
|
||||
|
||||
- name: Package Website
|
||||
run: |
|
||||
tar -czf site-${{ inputs.config }}-${{ inputs.lang }}.tar.gz site
|
||||
|
82
.github/workflows/update-discussions.yml
vendored
Normal file
82
.github/workflows/update-discussions.yml
vendored
Normal file
@ -0,0 +1,82 @@
|
||||
# Copyright (c) 2024 Jonah Aragon <jonah@triplebit.net>
|
||||
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to
|
||||
# deal in the Software without restriction, including without limitation the
|
||||
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
# sell copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||
# IN THE SOFTWARE.
|
||||
|
||||
name: 🔄 Update Discussions
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: "*/30 * * * *"
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
generate:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
environment:
|
||||
name: production
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
persist-credentials: "false"
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Create site/en directory
|
||||
run: mkdir -p site/en
|
||||
|
||||
- name: Update Discussions
|
||||
uses: yakubique/minio-download@v1.1.1
|
||||
with:
|
||||
endpoint: https://${{ vars.PROD_GARAGE_HOSTNAME }}
|
||||
access_key: ${{ secrets.PROD_GARAGE_KEY_ID }}
|
||||
secret_key: ${{ secrets.PROD_GARAGE_SECRET_KEY }}
|
||||
bucket: ${{ vars.PROD_GARAGE_BUCKET }}
|
||||
source: /en/index.html
|
||||
target: ./site/en/
|
||||
|
||||
- name: Run index-generation.sh for top posts
|
||||
run: |
|
||||
bash index-generation.sh \
|
||||
--source='https://discuss.privacyguides.net/top.json?period=weekly' \
|
||||
--tag="top posts" \
|
||||
--destination="./site/en/index.html" \
|
||||
--count=3
|
||||
|
||||
- name: Run index-generation.sh for latest posts
|
||||
run: |
|
||||
bash index-generation.sh \
|
||||
--source='https://discuss.privacyguides.net/latest.json' \
|
||||
--tag="latest posts" \
|
||||
--destination="./site/en/index.html" \
|
||||
--count=12
|
||||
|
||||
- name: Upload modified index
|
||||
uses: yakubique/minio-upload@v1.1.3
|
||||
with:
|
||||
endpoint: https://${{ vars.PROD_GARAGE_HOSTNAME }}
|
||||
access_key: ${{ secrets.PROD_GARAGE_KEY_ID }}
|
||||
secret_key: ${{ secrets.PROD_GARAGE_SECRET_KEY }}
|
||||
bucket: ${{ vars.PROD_GARAGE_BUCKET }}
|
||||
source: ./site/en/index.html
|
||||
target: /en
|
Reference in New Issue
Block a user