mirror of
https://github.com/privacyguides/privacyguides.org.git
synced 2024-12-22 06:05:11 -05:00
Add run.sh script to project (#2517)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
This commit is contained in:
parent
a80653968e
commit
c4c68f7f7e
@ -4,5 +4,5 @@
|
||||
"name": "Privacy Guides",
|
||||
"image": "ghcr.io/squidfunk/mkdocs-material:9.5.17",
|
||||
"forwardPorts": [8000],
|
||||
"postCreateCommand": "git submodule init; git submodule update theme/assets/brand; mkdocs serve --dev-addr=0.0.0.0:8000"
|
||||
"postCreateCommand": "git submodule init; git submodule update theme/assets/brand; ./run.sh"
|
||||
}
|
||||
|
@ -4,5 +4,5 @@
|
||||
"name": "Privacy Guides Team",
|
||||
"image": "ghcr.io/privacyguides/privacyguides.org:main",
|
||||
"forwardPorts": [8000],
|
||||
"postCreateCommand": "git submodule init; git submodule update theme/assets/brand; mkdocs serve --dev-addr=0.0.0.0:8000 --config-file mkdocs-production.yml"
|
||||
"postCreateCommand": "git submodule init; git submodule update theme/assets/brand; ./run.sh --cmd=mkdocs --insiders --production --cmd_flags=--dev-addr=0.0.0.0:8000"
|
||||
}
|
||||
|
68
.github/workflows/build.yml
vendored
68
.github/workflows/build.yml
vendored
@ -45,62 +45,20 @@ jobs:
|
||||
run: |
|
||||
{
|
||||
echo "BUILD_CONTEXT=${{ inputs.context }}"
|
||||
echo "BUILD_EDIT_URI_TEMPLATE=blob/main/docs/{path}?plain=1"
|
||||
echo "BUILD_REPO_URL=https://github.com/privacyguides/privacyguides.org"
|
||||
echo "PRODUCTION=true"
|
||||
echo "EXTRA_FLAGS=""$EXTRA_FLAGS" --production""
|
||||
} >> "$GITHUB_ENV"
|
||||
|
||||
- name: Set Metadata for Privileged Builds
|
||||
if: inputs.privileged
|
||||
run: echo "BUILD_INSIDERS=true" >> "$GITHUB_ENV"
|
||||
run: |
|
||||
echo "BUILD_INSIDERS=true" >> "$GITHUB_ENV"
|
||||
echo "EXTRA_FLAGS=""$EXTRA_FLAGS" --insiders"" >> "$GITHUB_ENV"
|
||||
|
||||
- name: Set Metadata for Offline Mode
|
||||
if: inputs.config == 'offline'
|
||||
run: |
|
||||
{
|
||||
echo "BUILD_EDIT_URI_TEMPLATE=''"
|
||||
echo "BUILD_OFFLINE=true"
|
||||
echo "BUILD_REPO_URL=''"
|
||||
echo "CARDS=false"
|
||||
echo "HOMEPAGE_BUTTON_GET_STARTED_LINK=basics/why-privacy-matters.html"
|
||||
echo "HOMEPAGE_BUTTON_TOOLS_LINK=tools.html"
|
||||
} >> "$GITHUB_ENV"
|
||||
|
||||
- name: Set Metadata for Translations
|
||||
if: inputs.lang != 'en'
|
||||
run: |
|
||||
{
|
||||
echo "BUILD_ABBREVIATIONS=includes/abbreviations.${{ inputs.lang }}.txt"
|
||||
echo "BUILD_DOCS_DIR=i18n/${{ inputs.lang }}"
|
||||
echo "BUILD_EDIT_URI_TEMPLATE=https://github.com/privacyguides/i18n/blob/main/i18n/${{ inputs.lang }}/{path}?plain=1"
|
||||
echo "BUILD_SITE_DIR=site/${{ inputs.lang }}"
|
||||
echo "BUILD_SITE_URL=https://privacyguides.org/${{ inputs.lang }}"
|
||||
echo "BUILD_THEME_LANGUAGE=${{ inputs.lang }}"
|
||||
} >> "$GITHUB_ENV"
|
||||
|
||||
- name: Set Metadata for Hebrew Translation
|
||||
if: inputs.lang == 'he'
|
||||
run: |
|
||||
{
|
||||
echo "BUILD_THEME_FONT_CODE=Cousine"
|
||||
echo "BUILD_THEME_FONT_TEXT=Open Sans"
|
||||
echo "TRANSLATION_STYLESHEET=assets/stylesheets/lang-${{ inputs.lang }}.css?v=20240410"
|
||||
} >> "$GITHUB_ENV"
|
||||
|
||||
- name: Set Metadata for Russian Translation
|
||||
if: inputs.lang == 'ru'
|
||||
run: |
|
||||
{
|
||||
echo "TRANSLATION_STYLESHEET=assets/stylesheets/lang-${{ inputs.lang }}.css?v=20240410"
|
||||
} >> "$GITHUB_ENV"
|
||||
|
||||
- name: Set Metadata for Chinese (Traditional) Translation
|
||||
if: inputs.lang == 'zh-Hant'
|
||||
run: |
|
||||
{
|
||||
echo "BUILD_THEME_FONT_CODE=Noto Sans TC"
|
||||
echo "BUILD_THEME_FONT_TEXT=Noto Sans TC"
|
||||
echo "TRANSLATION_STYLESHEET=assets/stylesheets/lang-${{ inputs.lang }}.css?v=20240410"
|
||||
echo "EXTRA_FLAGS=""$EXTRA_FLAGS" --offline""
|
||||
} >> "$GITHUB_ENV"
|
||||
|
||||
- name: Download Repository
|
||||
@ -189,24 +147,10 @@ jobs:
|
||||
pip install mkdocs-material
|
||||
sudo apt install pngquant
|
||||
|
||||
- name: Set Translated String Environment Variables
|
||||
uses: falti/dotenv-action@v1.1
|
||||
with:
|
||||
path: includes/strings.${{ inputs.lang }}.env
|
||||
export-variables: true
|
||||
keys-case: bypass
|
||||
|
||||
- name: Build Website
|
||||
if: inputs.privileged
|
||||
run: |
|
||||
pipenv run mkdocs build --config-file mkdocs-production.yml
|
||||
pipenv run mkdocs --version
|
||||
|
||||
- name: Build Website (Unprivileged)
|
||||
if: ${{ !inputs.privileged }}
|
||||
run: |
|
||||
mkdocs build
|
||||
mkdocs --version
|
||||
eval ./run.sh --build --lang=${{ inputs.lang }} "$EXTRA_FLAGS"
|
||||
|
||||
- name: Package Website
|
||||
run: |
|
||||
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -22,3 +22,4 @@ node_modules
|
||||
# Python
|
||||
.venv
|
||||
.env
|
||||
.mkdocs-insiders-*
|
||||
|
16
.mailmap
Normal file
16
.mailmap
Normal file
@ -0,0 +1,16 @@
|
||||
Daniel Gray <dngray@privacyguides.org> <dng@disroot.org>
|
||||
Daniel Gray <dngray@privacyguides.org> <48640805+dngray@users.noreply.github.com>
|
||||
Daniel Gray <dngray@privacyguides.org> <dngray@privacytools.io>
|
||||
Daniel Gray <dngray@privacyguides.org>
|
||||
Jonah Aragon <jonah@privacyguides.org> <jonah@triplebit.net>
|
||||
Jonah Aragon <jonah@privacyguides.org> <jonah@privacytools.io>
|
||||
Jonah Aragon <jonah@privacyguides.org> <github@aragon.science>
|
||||
mfwmyfacewhen <mfw@privacyguides.org> <94880365+mfwmyfacewhen@users.noreply.github.com>
|
||||
mbananasynergy <mbananasynergy@privacyguides.org> <>
|
||||
mbananasynergy <mbananasynergy@privacyguides.org> <107055883+matchboxbananasynergy@users.noreply.github.com>
|
||||
rollsicecream <rollsicecream@proton.me> <153316540+rollsicecream@users.noreply.github.com>
|
||||
rollsicecream <rollsicecream@proton.me> <waterfallnet@proton.me>
|
||||
Freddy <freddy@privacyguides.org> <freddy@decypher.pw>
|
||||
Freddy <freddy@privacyguides.org> <freddy@privacytools.io>
|
||||
Niek de Wilde <niek@privacyguides.org> <github.ef27z@simplelogin.com>
|
||||
Niek de Wilde <niek@privacyguides.org> <blacklight447@privacytools.io>
|
@ -43,7 +43,8 @@ RUN \
|
||||
tini \
|
||||
zlib-dev \
|
||||
libffi-dev \
|
||||
musl-dev
|
||||
musl-dev \
|
||||
bash
|
||||
|
||||
# Copy virtual env from python-deps stage
|
||||
COPY --from=python-deps /.venv /.venv
|
||||
@ -59,6 +60,7 @@ COPY theme theme
|
||||
COPY includes includes
|
||||
COPY *.yml .
|
||||
COPY .cache/plugin/social/fonts .cache/plugin/social/fonts
|
||||
COPY run.sh .
|
||||
|
||||
EXPOSE 8000
|
||||
|
||||
@ -66,5 +68,5 @@ ENV MKDOCS_INHERIT mkdocs-production.yml
|
||||
|
||||
HEALTHCHECK NONE
|
||||
|
||||
ENTRYPOINT ["mkdocs"]
|
||||
CMD ["serve", "--dev-addr=0.0.0.0:8000", "--config-file=mkdocs-production.yml"]
|
||||
ENTRYPOINT ["./run.sh"]
|
||||
CMD ["--cmd=mkdocs", "--insiders", "--cmd_flags=--dev-addr=0.0.0.0:8000"]
|
||||
|
2
Pipfile
2
Pipfile
@ -26,7 +26,7 @@ name = "pypi"
|
||||
[packages]
|
||||
mkdocs-material = {extras = ["imaging"], path = "./modules/mkdocs-material"}
|
||||
mkdocs-git-revision-date-localized-plugin = "~=1.2"
|
||||
mkdocs-git-committers-plugin-2 = "~=1.1"
|
||||
mkdocs-git-authors-plugin = "~=0.8"
|
||||
mkdocs-macros-plugin = "~=1.0"
|
||||
jieba = "~=0.42"
|
||||
|
||||
|
189
Pipfile.lock
generated
189
Pipfile.lock
generated
@ -1,7 +1,7 @@
|
||||
{
|
||||
"_meta": {
|
||||
"hash": {
|
||||
"sha256": "93ebf65ff6386809b3bea7cadd6e1eb71f8b0bb066846d81ec8d95422d32af64"
|
||||
"sha256": "ea18b0cfbbad56281087e2422684e4943753ad503e1319ef1f2f054b7a05f608"
|
||||
},
|
||||
"pipfile-spec": 6,
|
||||
"requires": {
|
||||
@ -24,14 +24,6 @@
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==2.14.0"
|
||||
},
|
||||
"beautifulsoup4": {
|
||||
"hashes": [
|
||||
"sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051",
|
||||
"sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed"
|
||||
],
|
||||
"markers": "python_full_version >= '3.6.0'",
|
||||
"version": "==4.12.3"
|
||||
},
|
||||
"cairocffi": {
|
||||
"hashes": [
|
||||
"sha256:78e6bbe47357640c453d0be929fa49cd05cce2e1286f3d2a1ca9cbda7efdb8b7",
|
||||
@ -287,167 +279,6 @@
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==3.1.3"
|
||||
},
|
||||
"lxml": {
|
||||
"hashes": [
|
||||
"sha256:04ab5415bf6c86e0518d57240a96c4d1fcfc3cb370bb2ac2a732b67f579e5a04",
|
||||
"sha256:057cdc6b86ab732cf361f8b4d8af87cf195a1f6dc5b0ff3de2dced242c2015e0",
|
||||
"sha256:058a1308914f20784c9f4674036527e7c04f7be6fb60f5d61353545aa7fcb739",
|
||||
"sha256:08802f0c56ed150cc6885ae0788a321b73505d2263ee56dad84d200cab11c07a",
|
||||
"sha256:0a15438253b34e6362b2dc41475e7f80de76320f335e70c5528b7148cac253a1",
|
||||
"sha256:0c3f67e2aeda739d1cc0b1102c9a9129f7dc83901226cc24dd72ba275ced4218",
|
||||
"sha256:0e7259016bc4345a31af861fdce942b77c99049d6c2107ca07dc2bba2435c1d9",
|
||||
"sha256:0ed777c1e8c99b63037b91f9d73a6aad20fd035d77ac84afcc205225f8f41188",
|
||||
"sha256:0f5d65c39f16717a47c36c756af0fb36144069c4718824b7533f803ecdf91138",
|
||||
"sha256:0f8c09ed18ecb4ebf23e02b8e7a22a05d6411911e6fabef3a36e4f371f4f2585",
|
||||
"sha256:11a04306fcba10cd9637e669fd73aa274c1c09ca64af79c041aa820ea992b637",
|
||||
"sha256:1ae67b4e737cddc96c99461d2f75d218bdf7a0c3d3ad5604d1f5e7464a2f9ffe",
|
||||
"sha256:1c5bb205e9212d0ebddf946bc07e73fa245c864a5f90f341d11ce7b0b854475d",
|
||||
"sha256:1f7785f4f789fdb522729ae465adcaa099e2a3441519df750ebdccc481d961a1",
|
||||
"sha256:200e63525948e325d6a13a76ba2911f927ad399ef64f57898cf7c74e69b71095",
|
||||
"sha256:21c2e6b09565ba5b45ae161b438e033a86ad1736b8c838c766146eff8ceffff9",
|
||||
"sha256:2213afee476546a7f37c7a9b4ad4d74b1e112a6fafffc9185d6d21f043128c81",
|
||||
"sha256:27aa20d45c2e0b8cd05da6d4759649170e8dfc4f4e5ef33a34d06f2d79075d57",
|
||||
"sha256:2a66bf12fbd4666dd023b6f51223aed3d9f3b40fef06ce404cb75bafd3d89536",
|
||||
"sha256:2c9d147f754b1b0e723e6afb7ba1566ecb162fe4ea657f53d2139bbf894d050a",
|
||||
"sha256:2ddfe41ddc81f29a4c44c8ce239eda5ade4e7fc305fb7311759dd6229a080052",
|
||||
"sha256:31e9a882013c2f6bd2f2c974241bf4ba68c85eba943648ce88936d23209a2e01",
|
||||
"sha256:3249cc2989d9090eeac5467e50e9ec2d40704fea9ab72f36b034ea34ee65ca98",
|
||||
"sha256:3545039fa4779be2df51d6395e91a810f57122290864918b172d5dc7ca5bb433",
|
||||
"sha256:394ed3924d7a01b5bd9a0d9d946136e1c2f7b3dc337196d99e61740ed4bc6fe1",
|
||||
"sha256:3a6b45da02336895da82b9d472cd274b22dc27a5cea1d4b793874eead23dd14f",
|
||||
"sha256:3a74c4f27167cb95c1d4af1c0b59e88b7f3e0182138db2501c353555f7ec57f4",
|
||||
"sha256:3d0c3dd24bb4605439bf91068598d00c6370684f8de4a67c2992683f6c309d6b",
|
||||
"sha256:3dbe858ee582cbb2c6294dc85f55b5f19c918c2597855e950f34b660f1a5ede6",
|
||||
"sha256:3dc773b2861b37b41a6136e0b72a1a44689a9c4c101e0cddb6b854016acc0aa8",
|
||||
"sha256:3e183c6e3298a2ed5af9d7a356ea823bccaab4ec2349dc9ed83999fd289d14d5",
|
||||
"sha256:3f7765e69bbce0906a7c74d5fe46d2c7a7596147318dbc08e4a2431f3060e306",
|
||||
"sha256:417d14450f06d51f363e41cace6488519038f940676ce9664b34ebf5653433a5",
|
||||
"sha256:44f6c7caff88d988db017b9b0e4ab04934f11e3e72d478031efc7edcac6c622f",
|
||||
"sha256:491755202eb21a5e350dae00c6d9a17247769c64dcf62d8c788b5c135e179dc4",
|
||||
"sha256:4951e4f7a5680a2db62f7f4ab2f84617674d36d2d76a729b9a8be4b59b3659be",
|
||||
"sha256:52421b41ac99e9d91934e4d0d0fe7da9f02bfa7536bb4431b4c05c906c8c6919",
|
||||
"sha256:530e7c04f72002d2f334d5257c8a51bf409db0316feee7c87e4385043be136af",
|
||||
"sha256:533658f8fbf056b70e434dff7e7aa611bcacb33e01f75de7f821810e48d1bb66",
|
||||
"sha256:5670fb70a828663cc37552a2a85bf2ac38475572b0e9b91283dc09efb52c41d1",
|
||||
"sha256:56c22432809085b3f3ae04e6e7bdd36883d7258fcd90e53ba7b2e463efc7a6af",
|
||||
"sha256:58278b29cb89f3e43ff3e0c756abbd1518f3ee6adad9e35b51fb101c1c1daaec",
|
||||
"sha256:588008b8497667f1ddca7c99f2f85ce8511f8f7871b4a06ceede68ab62dff64b",
|
||||
"sha256:59565f10607c244bc4c05c0c5fa0c190c990996e0c719d05deec7030c2aa8289",
|
||||
"sha256:59689a75ba8d7ffca577aefd017d08d659d86ad4585ccc73e43edbfc7476781a",
|
||||
"sha256:5aea8212fb823e006b995c4dda533edcf98a893d941f173f6c9506126188860d",
|
||||
"sha256:5c670c0406bdc845b474b680b9a5456c561c65cf366f8db5a60154088c92d102",
|
||||
"sha256:5ca1e8188b26a819387b29c3895c47a5e618708fe6f787f3b1a471de2c4a94d9",
|
||||
"sha256:5d077bc40a1fe984e1a9931e801e42959a1e6598edc8a3223b061d30fbd26bbc",
|
||||
"sha256:5d5792e9b3fb8d16a19f46aa8208987cfeafe082363ee2745ea8b643d9cc5b45",
|
||||
"sha256:5dd1537e7cc06efd81371f5d1a992bd5ab156b2b4f88834ca852de4a8ea523fa",
|
||||
"sha256:5ea7b6766ac2dfe4bcac8b8595107665a18ef01f8c8343f00710b85096d1b53a",
|
||||
"sha256:622020d4521e22fb371e15f580d153134bfb68d6a429d1342a25f051ec72df1c",
|
||||
"sha256:627402ad8dea044dde2eccde4370560a2b750ef894c9578e1d4f8ffd54000461",
|
||||
"sha256:644df54d729ef810dcd0f7732e50e5ad1bd0a135278ed8d6bcb06f33b6b6f708",
|
||||
"sha256:64641a6068a16201366476731301441ce93457eb8452056f570133a6ceb15fca",
|
||||
"sha256:64c2baa7774bc22dd4474248ba16fe1a7f611c13ac6123408694d4cc93d66dbd",
|
||||
"sha256:6588c459c5627fefa30139be4d2e28a2c2a1d0d1c265aad2ba1935a7863a4913",
|
||||
"sha256:66bc5eb8a323ed9894f8fa0ee6cb3e3fb2403d99aee635078fd19a8bc7a5a5da",
|
||||
"sha256:68a2610dbe138fa8c5826b3f6d98a7cfc29707b850ddcc3e21910a6fe51f6ca0",
|
||||
"sha256:6935bbf153f9a965f1e07c2649c0849d29832487c52bb4a5c5066031d8b44fd5",
|
||||
"sha256:6992030d43b916407c9aa52e9673612ff39a575523c5f4cf72cdef75365709a5",
|
||||
"sha256:6a014510830df1475176466b6087fc0c08b47a36714823e58d8b8d7709132a96",
|
||||
"sha256:6ab833e4735a7e5533711a6ea2df26459b96f9eec36d23f74cafe03631647c41",
|
||||
"sha256:6cc6ee342fb7fa2471bd9b6d6fdfc78925a697bf5c2bcd0a302e98b0d35bfad3",
|
||||
"sha256:6cf58416653c5901e12624e4013708b6e11142956e7f35e7a83f1ab02f3fe456",
|
||||
"sha256:70a9768e1b9d79edca17890175ba915654ee1725975d69ab64813dd785a2bd5c",
|
||||
"sha256:70ac664a48aa64e5e635ae5566f5227f2ab7f66a3990d67566d9907edcbbf867",
|
||||
"sha256:71e97313406ccf55d32cc98a533ee05c61e15d11b99215b237346171c179c0b0",
|
||||
"sha256:7221d49259aa1e5a8f00d3d28b1e0b76031655ca74bb287123ef56c3db92f213",
|
||||
"sha256:74b28c6334cca4dd704e8004cba1955af0b778cf449142e581e404bd211fb619",
|
||||
"sha256:764b521b75701f60683500d8621841bec41a65eb739b8466000c6fdbc256c240",
|
||||
"sha256:78bfa756eab503673991bdcf464917ef7845a964903d3302c5f68417ecdc948c",
|
||||
"sha256:794f04eec78f1d0e35d9e0c36cbbb22e42d370dda1609fb03bcd7aeb458c6377",
|
||||
"sha256:79bd05260359170f78b181b59ce871673ed01ba048deef4bf49a36ab3e72e80b",
|
||||
"sha256:7a7efd5b6d3e30d81ec68ab8a88252d7c7c6f13aaa875009fe3097eb4e30b84c",
|
||||
"sha256:7c17b64b0a6ef4e5affae6a3724010a7a66bda48a62cfe0674dabd46642e8b54",
|
||||
"sha256:804f74efe22b6a227306dd890eecc4f8c59ff25ca35f1f14e7482bbce96ef10b",
|
||||
"sha256:853e074d4931dbcba7480d4dcab23d5c56bd9607f92825ab80ee2bd916edea53",
|
||||
"sha256:857500f88b17a6479202ff5fe5f580fc3404922cd02ab3716197adf1ef628029",
|
||||
"sha256:865bad62df277c04beed9478fe665b9ef63eb28fe026d5dedcb89b537d2e2ea6",
|
||||
"sha256:88e22fc0a6684337d25c994381ed8a1580a6f5ebebd5ad41f89f663ff4ec2885",
|
||||
"sha256:8b9c07e7a45bb64e21df4b6aa623cb8ba214dfb47d2027d90eac197329bb5e94",
|
||||
"sha256:8de8f9d6caa7f25b204fc861718815d41cbcf27ee8f028c89c882a0cf4ae4134",
|
||||
"sha256:8e77c69d5892cb5ba71703c4057091e31ccf534bd7f129307a4d084d90d014b8",
|
||||
"sha256:9123716666e25b7b71c4e1789ec829ed18663152008b58544d95b008ed9e21e9",
|
||||
"sha256:958244ad566c3ffc385f47dddde4145088a0ab893504b54b52c041987a8c1863",
|
||||
"sha256:96323338e6c14e958d775700ec8a88346014a85e5de73ac7967db0367582049b",
|
||||
"sha256:9676bfc686fa6a3fa10cd4ae6b76cae8be26eb5ec6811d2a325636c460da1806",
|
||||
"sha256:9b0ff53900566bc6325ecde9181d89afadc59c5ffa39bddf084aaedfe3b06a11",
|
||||
"sha256:9b9ec9c9978b708d488bec36b9e4c94d88fd12ccac3e62134a9d17ddba910ea9",
|
||||
"sha256:9c6ad0fbf105f6bcc9300c00010a2ffa44ea6f555df1a2ad95c88f5656104817",
|
||||
"sha256:9ca66b8e90daca431b7ca1408cae085d025326570e57749695d6a01454790e95",
|
||||
"sha256:9e2addd2d1866fe112bc6f80117bcc6bc25191c5ed1bfbcf9f1386a884252ae8",
|
||||
"sha256:a0af35bd8ebf84888373630f73f24e86bf016642fb8576fba49d3d6b560b7cbc",
|
||||
"sha256:a2b44bec7adf3e9305ce6cbfa47a4395667e744097faed97abb4728748ba7d47",
|
||||
"sha256:a2dfe7e2473f9b59496247aad6e23b405ddf2e12ef0765677b0081c02d6c2c0b",
|
||||
"sha256:a55ee573116ba208932e2d1a037cc4b10d2c1cb264ced2184d00b18ce585b2c0",
|
||||
"sha256:a7baf9ffc238e4bf401299f50e971a45bfcc10a785522541a6e3179c83eabf0a",
|
||||
"sha256:a8d5c70e04aac1eda5c829a26d1f75c6e5286c74743133d9f742cda8e53b9c2f",
|
||||
"sha256:a91481dbcddf1736c98a80b122afa0f7296eeb80b72344d7f45dc9f781551f56",
|
||||
"sha256:ab31a88a651039a07a3ae327d68ebdd8bc589b16938c09ef3f32a4b809dc96ef",
|
||||
"sha256:abc25c3cab9ec7fcd299b9bcb3b8d4a1231877e425c650fa1c7576c5107ab851",
|
||||
"sha256:adfb84ca6b87e06bc6b146dc7da7623395db1e31621c4785ad0658c5028b37d7",
|
||||
"sha256:afbbdb120d1e78d2ba8064a68058001b871154cc57787031b645c9142b937a62",
|
||||
"sha256:afd5562927cdef7c4f5550374acbc117fd4ecc05b5007bdfa57cc5355864e0a4",
|
||||
"sha256:b070bbe8d3f0f6147689bed981d19bbb33070225373338df755a46893528104a",
|
||||
"sha256:b0b58fbfa1bf7367dde8a557994e3b1637294be6cf2169810375caf8571a085c",
|
||||
"sha256:b560e3aa4b1d49e0e6c847d72665384db35b2f5d45f8e6a5c0072e0283430533",
|
||||
"sha256:b6241d4eee5f89453307c2f2bfa03b50362052ca0af1efecf9fef9a41a22bb4f",
|
||||
"sha256:b6787b643356111dfd4032b5bffe26d2f8331556ecb79e15dacb9275da02866e",
|
||||
"sha256:bcbf4af004f98793a95355980764b3d80d47117678118a44a80b721c9913436a",
|
||||
"sha256:beb72935a941965c52990f3a32d7f07ce869fe21c6af8b34bf6a277b33a345d3",
|
||||
"sha256:bf2e2458345d9bffb0d9ec16557d8858c9c88d2d11fed53998512504cd9df49b",
|
||||
"sha256:c2d35a1d047efd68027817b32ab1586c1169e60ca02c65d428ae815b593e65d4",
|
||||
"sha256:c38d7b9a690b090de999835f0443d8aa93ce5f2064035dfc48f27f02b4afc3d0",
|
||||
"sha256:c6f2c8372b98208ce609c9e1d707f6918cc118fea4e2c754c9f0812c04ca116d",
|
||||
"sha256:c817d420c60a5183953c783b0547d9eb43b7b344a2c46f69513d5952a78cddf3",
|
||||
"sha256:c8ba129e6d3b0136a0f50345b2cb3db53f6bda5dd8c7f5d83fbccba97fb5dcb5",
|
||||
"sha256:c94e75445b00319c1fad60f3c98b09cd63fe1134a8a953dcd48989ef42318534",
|
||||
"sha256:cc4691d60512798304acb9207987e7b2b7c44627ea88b9d77489bbe3e6cc3bd4",
|
||||
"sha256:cc518cea79fd1e2f6c90baafa28906d4309d24f3a63e801d855e7424c5b34144",
|
||||
"sha256:cd53553ddad4a9c2f1f022756ae64abe16da1feb497edf4d9f87f99ec7cf86bd",
|
||||
"sha256:cf22b41fdae514ee2f1691b6c3cdeae666d8b7fa9434de445f12bbeee0cf48dd",
|
||||
"sha256:d38c8f50ecf57f0463399569aa388b232cf1a2ffb8f0a9a5412d0db57e054860",
|
||||
"sha256:d3be9b2076112e51b323bdf6d5a7f8a798de55fb8d95fcb64bd179460cdc0704",
|
||||
"sha256:d4f2cc7060dc3646632d7f15fe68e2fa98f58e35dd5666cd525f3b35d3fed7f8",
|
||||
"sha256:d7520db34088c96cc0e0a3ad51a4fd5b401f279ee112aa2b7f8f976d8582606d",
|
||||
"sha256:d793bebb202a6000390a5390078e945bbb49855c29c7e4d56a85901326c3b5d9",
|
||||
"sha256:da052e7962ea2d5e5ef5bc0355d55007407087392cf465b7ad84ce5f3e25fe0f",
|
||||
"sha256:dae0ed02f6b075426accbf6b2863c3d0a7eacc1b41fb40f2251d931e50188dad",
|
||||
"sha256:ddc678fb4c7e30cf830a2b5a8d869538bc55b28d6c68544d09c7d0d8f17694dc",
|
||||
"sha256:df2e6f546c4df14bc81f9498bbc007fbb87669f1bb707c6138878c46b06f6510",
|
||||
"sha256:e02c5175f63effbd7c5e590399c118d5db6183bbfe8e0d118bdb5c2d1b48d937",
|
||||
"sha256:e196a4ff48310ba62e53a8e0f97ca2bca83cdd2fe2934d8b5cb0df0a841b193a",
|
||||
"sha256:e233db59c8f76630c512ab4a4daf5a5986da5c3d5b44b8e9fc742f2a24dbd460",
|
||||
"sha256:e32be23d538753a8adb6c85bd539f5fd3b15cb987404327c569dfc5fd8366e85",
|
||||
"sha256:e3d30321949861404323c50aebeb1943461a67cd51d4200ab02babc58bd06a86",
|
||||
"sha256:e89580a581bf478d8dcb97d9cd011d567768e8bc4095f8557b21c4d4c5fea7d0",
|
||||
"sha256:e998e304036198b4f6914e6a1e2b6f925208a20e2042563d9734881150c6c246",
|
||||
"sha256:ec42088248c596dbd61d4ae8a5b004f97a4d91a9fd286f632e42e60b706718d7",
|
||||
"sha256:efa7b51824aa0ee957ccd5a741c73e6851de55f40d807f08069eb4c5a26b2baa",
|
||||
"sha256:f0a1bc63a465b6d72569a9bba9f2ef0334c4e03958e043da1920299100bc7c08",
|
||||
"sha256:f18a5a84e16886898e51ab4b1d43acb3083c39b14c8caeb3589aabff0ee0b270",
|
||||
"sha256:f2a9efc53d5b714b8df2b4b3e992accf8ce5bbdfe544d74d5c6766c9e1146a3a",
|
||||
"sha256:f3bbbc998d42f8e561f347e798b85513ba4da324c2b3f9b7969e9c45b10f6169",
|
||||
"sha256:f42038016852ae51b4088b2862126535cc4fc85802bfe30dea3500fdfaf1864e",
|
||||
"sha256:f443cdef978430887ed55112b491f670bba6462cea7a7742ff8f14b7abb98d75",
|
||||
"sha256:f51969bac61441fd31f028d7b3b45962f3ecebf691a510495e5d2cd8c8092dbd",
|
||||
"sha256:f8aca2e3a72f37bfc7b14ba96d4056244001ddcc18382bd0daa087fd2e68a354",
|
||||
"sha256:f9737bf36262046213a28e789cc82d82c6ef19c85a0cf05e75c670a33342ac2c",
|
||||
"sha256:fd6037392f2d57793ab98d9e26798f44b8b4da2f2464388588f48ac52c489ea1",
|
||||
"sha256:feaa45c0eae424d3e90d78823f3828e7dc42a42f21ed420db98da2c4ecf0a2cb",
|
||||
"sha256:ff097ae562e637409b429a7ac958a20aab237a0378c42dabaa1e3abf2f896e5f",
|
||||
"sha256:ff46d772d5f6f73564979cd77a4fffe55c916a05f3cb70e7c9c0590059fb29ef"
|
||||
],
|
||||
"markers": "python_version >= '3.6'",
|
||||
"version": "==5.2.1"
|
||||
},
|
||||
"markdown": {
|
||||
"hashes": [
|
||||
"sha256:48f276f4d8cfb8ce6527c8f79e2ee29708508bf4d40aa410fbc3b4ee832c850f",
|
||||
@ -538,14 +369,14 @@
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==1.5.3"
|
||||
},
|
||||
"mkdocs-git-committers-plugin-2": {
|
||||
"mkdocs-git-authors-plugin": {
|
||||
"hashes": [
|
||||
"sha256:0bb5d71cdd9d43fec0dec16e52a9aad2784256b0fa6ef9bb0cceffc36c081ab3",
|
||||
"sha256:921da26b3f4393e6c170279ac34089151dfc22cd29ec4fbce3506218541685c8"
|
||||
"sha256:0614f4f87d31eabd0a0d607c9e0532608fc593997ebee282ec564ee6dc1c041e",
|
||||
"sha256:10dfc57fb10d5c3aceb0e5cdea199ac3a7588979f26484eba46d935dc1044c26"
|
||||
],
|
||||
"index": "pypi",
|
||||
"markers": "python_version >= '3.8' and python_version < '4'",
|
||||
"version": "==1.2.0"
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==0.8.0"
|
||||
},
|
||||
"mkdocs-git-revision-date-localized-plugin": {
|
||||
"hashes": [
|
||||
@ -912,14 +743,6 @@
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==5.0.1"
|
||||
},
|
||||
"soupsieve": {
|
||||
"hashes": [
|
||||
"sha256:5663d5a7b3bfaeee0bc4372e7fc48f9cff4940b3eec54a6451cc5299f1097690",
|
||||
"sha256:eaa337ff55a1579b6549dc679565eac1e3d000563bcb1c8ab0d0fefbc0c2cdc7"
|
||||
],
|
||||
"markers": "python_version >= '3.8'",
|
||||
"version": "==2.5"
|
||||
},
|
||||
"termcolor": {
|
||||
"hashes": [
|
||||
"sha256:9297c0df9c99445c2412e832e882a7884038a25617c60cea2ad69488d4040d63",
|
||||
|
15
README.md
15
README.md
@ -113,7 +113,7 @@ Committing to this repository requires [signing your commits](https://docs.githu
|
||||
### With `mkdocs-material`
|
||||
|
||||
1. Install required packages: `pip install mkdocs-material`
|
||||
2. Run a local preview of the English site: `mkdocs serve`
|
||||
2. Run a local preview of the English site: `./run.sh`
|
||||
|
||||
### With `mkdocs-material-insiders`
|
||||
|
||||
@ -126,13 +126,22 @@ This website uses [`mkdocs-material-insiders`](https://squidfunk.github.io/mkdoc
|
||||
3. Install Python **3.12**.
|
||||
4. Install **pipenv**: `pip install pipenv`
|
||||
5. Install dependencies: `pipenv install --dev` (install [Pillow and CairoSVG](https://squidfunk.github.io/mkdocs-material/setup/setting-up-social-cards/#dependencies) as well to generate social cards)
|
||||
6. Serve the site locally: `pipenv run mkdocs serve --config-file mkdocs-production.yml` (set `CARDS=true` to generate social cards)
|
||||
6. Serve the site locally: `./run.sh --insiders` (set `CARDS=true` to generate social cards)
|
||||
- The site will be available at `http://localhost:8000`
|
||||
- You can build the site locally with `pipenv run mkdocs build --config-file mkdocs-production.yml`
|
||||
- You can build the site locally with `./run.sh --insiders --build`
|
||||
- This version of the site should be identical to the live, production version
|
||||
|
||||
If you commit to `main` with commits signed with your SSH key, you should add your SSH key to [`.allowed_signers`](/.allowed_signers) in this repo.
|
||||
|
||||
### Local Translated Site Builds
|
||||
|
||||
1. Install the [Crowdin CLI Tool](https://developer.crowdin.com/cli-tool) (`brew install crowdin`)
|
||||
2. Set the `CROWDIN_PERSONAL_TOKEN` environment variable to your Crowdin personal access token
|
||||
3. Run `crowdin download` in the root of this repo
|
||||
4. Serve the site locally: `./run.sh --insiders --lang=fr` (replacing fr with the appropriate language in [/config](/config))
|
||||
|
||||
Translations downloaded from Crowdin are [.gitignore](/.gitignore)'d, so any local changes to the translated site cannot be committed to this repo. Actual modifications need to be made on Crowdin. As an alternative to steps 1-3, you can copy the folders from [privacyguides/i18n](https://github.com/privacyguides/i18n) to the root of this repo to obtain the translated files.
|
||||
|
||||
## Releasing
|
||||
|
||||
It is required to create a GitHub release to publish the current site to privacyguides.org. The current `main` branch can be previewed at [https://main.staging.privacyguides.dev](https://main.staging.privacyguides.dev) prior to release.
|
||||
|
@ -1,27 +0,0 @@
|
||||
# Copyright (c) 2022-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.
|
||||
|
||||
INHERIT: mkdocs.yml
|
||||
|
||||
markdown_extensions:
|
||||
material.extensions.preview:
|
||||
sources:
|
||||
exclude:
|
||||
- tools.md
|
11
mkdocs.yml
11
mkdocs.yml
@ -319,15 +319,18 @@ plugins:
|
||||
plugins:
|
||||
macros: {}
|
||||
meta: {}
|
||||
git-committers:
|
||||
enabled: !ENV [GITCOMMITTERS, PRODUCTION, NETLIFY, false]
|
||||
repository: privacyguides/privacyguides.org
|
||||
branch: main
|
||||
git-authors:
|
||||
enabled: !ENV [GITAUTHORS, PRODUCTION, NETLIFY, false]
|
||||
sort_authors_by: contribution
|
||||
show_contribution: true
|
||||
fallback_to_empty: true
|
||||
authorship_threshold_percent: 1
|
||||
git-revision-date-localized:
|
||||
enabled: !ENV [GITREVISIONDATE, PRODUCTION, NETLIFY, false]
|
||||
exclude:
|
||||
- index.md
|
||||
fallback_to_build_date: true
|
||||
enable_creation_date: true
|
||||
optimize:
|
||||
enabled: !ENV [OPTIMIZE, PRODUCTION, NETLIFY, false]
|
||||
typeset: {}
|
||||
|
140
run.sh
Executable file
140
run.sh
Executable file
@ -0,0 +1,140 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Add --help output
|
||||
if [ "$1" == "--help" ]; then
|
||||
echo "Usage: ./run.sh [options]"
|
||||
echo "Options:"
|
||||
echo " --lang=<language code> (default: en) Language code for the site"
|
||||
echo " --insiders Enable insiders mode"
|
||||
echo ' --cmd="<base command>" Base command to run mkdocs'
|
||||
echo ' (default: "pipenv run mkdocs")'
|
||||
echo ' --cmd_flags="<flags>" Flags to pass to the base command'
|
||||
echo " --build Build the site instead of serving it"
|
||||
echo " --offline Build the site in offline mode"
|
||||
echo " --production Build the site in production mode"
|
||||
echo ""
|
||||
echo "Examples:"
|
||||
echo " $ bash run.sh"
|
||||
echo " $ bash run.sh --lang=ru --insiders"
|
||||
echo ' $ bash run.sh --cmd="mkdocs" --cmd_flags="--dev-addr=0.0.0.0:8000"'
|
||||
echo " $ bash run.sh --build"
|
||||
exit
|
||||
fi
|
||||
|
||||
# Defaults
|
||||
build=false
|
||||
language="en"
|
||||
base_cmd="pipenv run mkdocs"
|
||||
offline=false
|
||||
cmd_flags=()
|
||||
insiders=false
|
||||
export PRODUCTION=false
|
||||
|
||||
# Parse command-line arguments
|
||||
for arg in "$@"
|
||||
do
|
||||
case $arg in
|
||||
--lang=*)
|
||||
language="${arg#*=}"
|
||||
shift
|
||||
;;
|
||||
--insiders)
|
||||
insiders=true
|
||||
shift
|
||||
;;
|
||||
--cmd=*)
|
||||
base_cmd="${arg#*=}"
|
||||
shift
|
||||
;;
|
||||
--build)
|
||||
build=true
|
||||
shift
|
||||
;;
|
||||
--offline)
|
||||
offline=true
|
||||
shift
|
||||
;;
|
||||
--production)
|
||||
export PRODUCTION=true
|
||||
shift
|
||||
;;
|
||||
--cmd_flags=*)
|
||||
cmd_flags+=("${arg#*=}")
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Set variables for offline mode
|
||||
if $offline ; then
|
||||
export BUILD_EDIT_URI_TEMPLATE=''
|
||||
export BUILD_OFFLINE=true
|
||||
export BUILD_REPO_URL=''
|
||||
export CARDS=false
|
||||
export HOMEPAGE_BUTTON_GET_STARTED_LINK="basics/why-privacy-matters.html"
|
||||
export HOMEPAGE_BUTTON_TOOLS_LINK="tools.html"
|
||||
fi
|
||||
|
||||
# Set environment variables if language is not en
|
||||
if [ "$language" != "en" ]; then
|
||||
export BUILD_ABBREVIATIONS="includes/abbreviations.$language.txt"
|
||||
export BUILD_DOCS_DIR="i18n/$language"
|
||||
export BUILD_EDIT_URI_TEMPLATE="https://github.com/privacyguides/i18n/blob/main/i18n/$language/{path}?plain=1"
|
||||
export BUILD_SITE_DIR="site/$language"
|
||||
export BUILD_SITE_URL="https://privacyguides.org/$language"
|
||||
export BUILD_THEME_LANGUAGE="$language"
|
||||
set -a
|
||||
# shellcheck disable=SC1090
|
||||
source "$PWD/includes/strings.$language.env"
|
||||
set +a
|
||||
fi
|
||||
|
||||
# Set font if hebrew
|
||||
if [ "$language" == "he" ]; then
|
||||
export BUILD_THEME_FONT_CODE="Cousine"
|
||||
export BUILD_THEME_FONT_TEXT="Open Sans"
|
||||
fi
|
||||
|
||||
# Set font if chinese
|
||||
if [ "$language" == "zh-Hant" ]; then
|
||||
export BUILD_THEME_FONT_CODE="Noto Sans TC"
|
||||
export BUILD_THEME_FONT_TEXT="Noto Sans TC"
|
||||
fi
|
||||
|
||||
# Set stylesheet if hebrew or russian or chinese
|
||||
if [[ "he ru zh-Hant" =~ $language ]]; then
|
||||
export TRANSLATION_STYLESHEET="assets/stylesheets/lang-$language.css?v=20240410"
|
||||
fi
|
||||
|
||||
# Set theme if insiders
|
||||
if $insiders ; then
|
||||
random_num=$RANDOM
|
||||
export BUILD_INSIDERS=true
|
||||
cmd_flags+=("--config-file=$PWD/.mkdocs-insiders-$random_num.yml")
|
||||
touch "$PWD/.mkdocs-insiders-$random_num.yml"
|
||||
cat <<EOT >> "$PWD/.mkdocs-insiders-$random_num.yml"
|
||||
INHERIT: mkdocs.yml
|
||||
|
||||
watch:
|
||||
- theme
|
||||
- includes
|
||||
- mkdocs.yml
|
||||
|
||||
markdown_extensions:
|
||||
material.extensions.preview:
|
||||
sources:
|
||||
exclude:
|
||||
- tools.md
|
||||
EOT
|
||||
trap 'rm $PWD/.mkdocs-insiders-$random_num.yml' EXIT
|
||||
fi
|
||||
|
||||
# Run the command with the specified language
|
||||
if $build ; then
|
||||
$base_cmd build "${cmd_flags[@]}"
|
||||
else
|
||||
$base_cmd serve "${cmd_flags[@]}"
|
||||
fi
|
@ -19,11 +19,12 @@
|
||||
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.
|
||||
{{ config.extra.privacy_guides.translation_stylesheet | url }}
|
||||
-->
|
||||
|
||||
{% if page and page.meta and page.meta.cover %}
|
||||
<div class="cover center-cropped">
|
||||
<img src="/en/assets/img/cover/{{ page.meta.cover }}" alt="">
|
||||
<img src="{{ 'assets/img/cover/' | url }}{{ page.meta.cover }}" alt="">
|
||||
</div>
|
||||
<h1>{{ page.title | d(config.site_name, true)}}</h1>
|
||||
{% endif %}
|
||||
|
103
theme/partials/source-file.html
Normal file
103
theme/partials/source-file.html
Normal file
@ -0,0 +1,103 @@
|
||||
<!--
|
||||
Copyright (c) 2016-2024 Martin Donath <martin.donath@squidfunk.com>
|
||||
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.
|
||||
-->
|
||||
|
||||
<!-- Render date of last update -->
|
||||
{% macro render_updated(date) %}
|
||||
<span class="md-source-file__fact">
|
||||
<span class="md-icon" title="{{ lang.t('source.file.date.updated') }}">
|
||||
{% include ".icons/material/clock-edit-outline.svg" %}
|
||||
</span>
|
||||
{{ date }}
|
||||
</span>
|
||||
{% endmacro %}
|
||||
|
||||
<!-- Render date of creation -->
|
||||
{% macro render_created(date) %}
|
||||
<span class="md-source-file__fact">
|
||||
<span class="md-icon" title="{{ lang.t('source.file.date.created') }}">
|
||||
{% include ".icons/material/clock-plus-outline.svg" %}
|
||||
</span>
|
||||
{{ date }}
|
||||
</span>
|
||||
{% endmacro %}
|
||||
|
||||
<!-- ---------------------------------------------------------------------- -->
|
||||
|
||||
<!-- Render authors -->
|
||||
{% macro render_authors(authors) %}
|
||||
{% set git_authors = config.plugins.get("git-authors") %}
|
||||
<span class="md-source-file__fact">
|
||||
<span class="md-icon" title="{{ lang.t('source.file.contributors') }}">
|
||||
{% if authors | length == 1 %}
|
||||
{% include ".icons/material/account.svg" %}
|
||||
{% else %}
|
||||
{% include ".icons/material/account-group.svg" %}
|
||||
{% endif %}
|
||||
</span>
|
||||
<nav>
|
||||
{% for author in authors %}
|
||||
{%- if loop.index0 < 2 %}{{- author.name ~ ' (' ~ author.contribution ~ ')' -}}
|
||||
{%- else -%}<abbr title="{{- author.contribution -}}">{{- author.name -}}</abbr>{%- endif -%}
|
||||
{%- if loop.revindex > 1 %}, {% endif -%}
|
||||
{% endfor %}
|
||||
</nav>
|
||||
</span>
|
||||
{% endmacro %}
|
||||
|
||||
|
||||
<!-- ---------------------------------------------------------------------- -->
|
||||
|
||||
<!-- Determine date of last update -->
|
||||
{% if page.meta %}
|
||||
{% if page.meta.git_revision_date_localized %}
|
||||
{% set updated = page.meta.git_revision_date_localized %}
|
||||
{% elif page.meta.revision_date %}
|
||||
{% set updated = page.meta.revision_date %}
|
||||
{% endif %}
|
||||
|
||||
<!-- Determine date of creation -->
|
||||
{% if page.meta.git_creation_date_localized %}
|
||||
{% set created = page.meta.git_creation_date_localized %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
<!-- Source file information -->
|
||||
{% if updated or created or git_info %}
|
||||
<aside class="md-source-file">
|
||||
|
||||
<!-- Date of last update -->
|
||||
{% if updated %}
|
||||
{{ render_updated(updated) }}
|
||||
{% endif %}
|
||||
|
||||
<!-- Date of creation -->
|
||||
{% if created %}
|
||||
{{ render_created(created) }}
|
||||
{% endif %}
|
||||
|
||||
<!-- Authors (git-authors plugin) -->
|
||||
{% if git_info %}
|
||||
{{ render_authors(git_info.get("page_authors")) }}
|
||||
{% endif %}
|
||||
</aside>
|
||||
{% endif %}
|
Loading…
Reference in New Issue
Block a user