forked from SelfPrivacy/selfprivacy.org
Compare commits
400 Commits
Author | SHA1 | Date |
---|---|---|
Inex Code | b5a2be808c | |
nevfy | 73f867a323 | |
nevfy | ae2bd408b1 | |
nevfy | ed910b7427 | |
def | 2c4ffebc79 | |
dettlaff | d2a54c1b48 | |
dettlaff | 91b264dbb4 | |
Inex Code | 6f3f776eae | |
def | 6eaf7bbdcc | |
dettlaff | 09c30379af | |
nevfy | c9af34da46 | |
dettlaff | d49a5eb100 | |
nevfy | 4e2db568c9 | |
nevfy | a3eb6fa9d1 | |
nevfy | 55df8d6f26 | |
nevfy | ae97ac93d3 | |
Inex Code | c1d211e971 | |
Inex Code | 5abf9a38f7 | |
Inex Code | 24a86fbea9 | |
Inex Code | a0c32c0b4f | |
nevfy | c46e9bb2ac | |
nevfy | 46223ee8b1 | |
nevfy | c6ee71fb49 | |
nevfy | a8fe258fe5 | |
nevfy | 53b1e00ac5 | |
nevfy | e82b38b504 | |
nevfy | 7a2ce768b2 | |
nevfy | c951c3592a | |
nevfy | 2c7edd87ae | |
nevfy | fe51efc049 | |
nevfy | 9be32325d0 | |
nevfy | 298a50ca24 | |
nevfy | 51a2ccd995 | |
nevfy | e61c1cd8c5 | |
nevfy | e31b2da345 | |
nevfy | a6fcff6e75 | |
nevfy | 88bdaccccc | |
nevfy | 70e6f662d3 | |
dettlaff | de9c84858e | |
def | cc8f9be86a | |
nevfy | 06f5fb9d94 | |
nevfy | f5b80082ed | |
nevfy | 586da8051f | |
nevfy | e5fd469f96 | |
Inex Code | 19a0b0f0ca | |
nevfy | e0b9f8fe9b | |
nevfy | d76c3ba051 | |
nevfy | b8e58cba1f | |
def | b6086d8fd7 | |
nevfy | ecc8f46e2b | |
def | c9effcdf25 | |
nevfy | 294d527e52 | |
nevfy | 0548dcd424 | |
nevfy | a22f5eebbb | |
dettlaff | 3a283216ce | |
dettlaff | 371c2df508 | |
dettlaff | f3052613fd | |
dettlaff | 160e8d9e12 | |
dettlaff | a87a83dcbc | |
dettlaff | f338f54806 | |
dettlaff | c4a7292114 | |
dettlaff | 209ed687cd | |
dettlaff | aba7c4a5fa | |
dettlaff | a09ceb89b1 | |
Inex Code | de5ff5053d | |
Inex Code | 8ef581a4ef | |
Inex Code | 94cf2caf44 | |
dettlaff | 13d6ea9618 | |
Inex Code | 27954e1efa | |
Inex Code | 7908938b3f | |
Inex Code | e05437d43e | |
def | ee47208a6e | |
Inex Code | 174bcb1d4e | |
nevfy | 8345296280 | |
nevfy | 27ac23f9ac | |
nevfy | 9a3115468d | |
Inex Code | 3145d57511 | |
Inex Code | 20317f6f20 | |
nevfy | 2e7be902a3 | |
nevfy | 77513ad94c | |
nevfy | 23d317a711 | |
def | e93cb64dba | |
Inex Code | ab9497cee6 | |
nevfy | 73bbf27bc4 | |
nevfy | 7c1778778a | |
nevfy | 21508896dd | |
nevfy | 1dd43956f2 | |
nevfy | 9ab590cf1c | |
Inex Code | e297584513 | |
Inex Code | f420718b96 | |
nevfy | 34d991ff50 | |
nevfy | 4f786bf803 | |
nevfy | 2c556abba0 | |
nevfy | 7e257894f2 | |
nevfy | 9077451d1e | |
nevfy | 24155de39c | |
nevfy | bb21516e55 | |
nevfy | 9c7746b2b0 | |
nevfy | 664b2c8898 | |
nevfy | 041e682cd7 | |
nevfy | b48564a58d | |
nevfy | be1e35cef5 | |
nevfy | 3e2c596d5a | |
nevfy | 5fc5905bc3 | |
nevfy | 4e1eab2139 | |
Inex Code | 8382708a2b | |
Inex Code | 082e0c37be | |
nevfy | 07ec6cc0e3 | |
nevfy | 4414a392c2 | |
Inex Code | 160be568c6 | |
nevfy | b640093184 | |
nevfy | 53e4a3e752 | |
Inex Code | 1ebc49337b | |
nevfy | 1d3856542a | |
nevfy | 73e4b2716d | |
nevfy | 93c646bca6 | |
Inex Code | 4f507f35c6 | |
nevfy | 0f3d6743f6 | |
Inex Code | 42ebc180b9 | |
nevfy | ba10c7c41d | |
Inex Code | c5ae4ecdad | |
nevfy | 4e1e91ed60 | |
nevfy | 0de6c75a4d | |
Inex Code | be0e968260 | |
nevfy | 4aa30d0236 | |
nevfy | ae05642570 | |
Inex Code | f2fe4df542 | |
nevfy | 6bfe043230 | |
Inex Code | 7a97d4fe68 | |
Inex Code | 5bc756be98 | |
nevfy | 8bf4f3ef7f | |
Inex Code | 4ec630c07c | |
Inex Code | ce1c0b27d0 | |
nevfy | 4d3d5449c4 | |
nevfy | e6d09a43fb | |
nevfy | 57d3df5a48 | |
nevfy | 5471c290a4 | |
nevfy | c4163bc099 | |
nevfy | 2cc1653fea | |
nevfy | 8ebe0f50c7 | |
nevfy | 531a1de5a2 | |
nevfy | 70cedfd5e8 | |
Inex Code | 82b429f9b4 | |
nevfy | a6b51c2799 | |
nevfy | 428cfb3544 | |
nevfy | 6577407f36 | |
nevfy | 68506bf550 | |
nevfy | ff4f5c2634 | |
nevfy | e24346b93c | |
nevfy | 9834547483 | |
nevfy | b2c5f3eb73 | |
nevfy | 8a4539cd21 | |
nevfy | dc9953f3a6 | |
nevfy | 9b0c45de8c | |
nevfy | a8fa6191e1 | |
nevfy | 62281d370f | |
nevfy | 419bf3de08 | |
nevfy | a1a8aaae02 | |
Inex Code | 14d7717a1f | |
nevfy | 4bed98bde2 | |
nevfy | 6088aab57d | |
Inex Code | 9b9e15817f | |
nevfy | d7db00e05b | |
Inex Code | 51040340b9 | |
nevfy | 1317084d52 | |
nevfy | 422c34dd0c | |
Inex Code | 696266368f | |
Inex Code | 0bc8663f6f | |
Inex Code | 25e8b80224 | |
Inex Code | 69fbfacc4f | |
def | 2391f502f8 | |
def | 3c83186584 | |
def | f80061497e | |
dettlaff | c1d964c774 | |
dettlaff | c7307d81a3 | |
def | b0194f0165 | |
def | f0dd4ca4ba | |
dettlaff | 33ebbaaae6 | |
dettlaff | 039a5545c6 | |
dettlaff | 6898cbf417 | |
dettlaff | e1b85cb652 | |
def | a1bb99fef5 | |
Inex Code | e9c6b4fe6f | |
dettlaff | 0313da6007 | |
dettlaff | d6d4157ba9 | |
def | 74b6874e28 | |
dettlaff | 2aef4be2b1 | |
dettlaff | 5fafa85c1f | |
def | af7f01bf06 | |
def | 255888da0b | |
dettlaff | ef0966c952 | |
def | 9188884f1a | |
def | 3787392987 | |
dettlaff | 5b759a766e | |
def | 469bd73e6b | |
def | 9b4a5e1807 | |
def | c4dca4c277 | |
def | 212b818dae | |
def | bd66f3f0d6 | |
def | 510c4f84f0 | |
def | c05532f2d8 | |
def | bbe4f6b512 | |
def | 1499c96700 | |
def | 7625b98fb9 | |
def | 451d0e9f4f | |
def | b6bffc33c3 | |
def | 3ac3b3ab5c | |
def | 746b3d5bb2 | |
def | 402e51ffdd | |
def | 0450c46a59 | |
def | 4de10746b7 | |
def | 188d7024e2 | |
def | 6ab5ae43f9 | |
def | e4df4279b6 | |
dettlaff | bd68df06a9 | |
dettlaff | 4608697b8d | |
Inex Code | 761ecee8f0 | |
def | 4d52dc5677 | |
def | 0e2f08a6bd | |
Inex Code | 1e9bcceb4d | |
Inex Code | b88d1b6a30 | |
def | 10ae941674 | |
dettlaff | c9a3b84cdd | |
dettlaff | d3efb90d92 | |
Inex Code | 5e11f9153d | |
dettlaff | 621d67c4e3 | |
dettlaff | dadeee35a3 | |
dettlaff | 0c5f1b4722 | |
def | c818a380b6 | |
dettlaff | 9ee3774fbb | |
def | e75647de9b | |
Inex Code | 77234831aa | |
Inex Code | 4afc163c10 | |
Inex Code | b8b1e5be25 | |
NaiJi ✨ | 490e3221f8 | |
NaiJi ✨ | 0d10c2472a | |
dettlaff | f5118b3899 | |
Houkime | 2ff47840b8 | |
Inex Code | c2956c9187 | |
NaiJi ✨ | d8b3a01344 | |
NaiJi ✨ | 69f24f01a7 | |
NaiJi ✨ | 7c5e2a1bb1 | |
NaiJi ✨ | 0cf7a36c4b | |
NaiJi ✨ | 7120efc267 | |
dettlaff | 0042c0e9be | |
dettlaff | f2662c06eb | |
dettlaff | f40047061d | |
dettlaff | 4abae932ff | |
dettlaff | 589bf95e49 | |
dettlaff | 479441013c | |
dettlaff | cf168f5dc3 | |
Inex Code | df90b1f74b | |
def | 97b1337718 | |
def | 3c01c19da8 | |
dettlaff | 350b6cf651 | |
Inex Code | 10a8e3de13 | |
dettlaff | eb85a8a78b | |
dettlaff | ddb61426a8 | |
dettlaff | 2dbb2260be | |
dettlaff | 14e9557499 | |
dettlaff | 70409504fa | |
def | 9cebb747b5 | |
def | 57a75b9887 | |
def | 2f206c1838 | |
def | 78f81cf3f3 | |
dettlaff | cf6c695b14 | |
dettlaff | 10eac0022c | |
Inex Code | c23a5b25e8 | |
Houkime | 58b0bb1253 | |
Inex Code | e992458a52 | |
Inex Code | 336944a1d9 | |
Inex Code | fe50e2c39c | |
Inex Code | f3109a138e | |
Inex Code | 9f13d3b79a | |
Inex Code | 63eb7781c6 | |
def | 357ed85e59 | |
def | a7fb58f7d2 | |
Inex Code | eaa8070a27 | |
dettlaff | 5b092045bb | |
Inex Code | 8cc50ffa7d | |
Inex Code | 1e90d46f9b | |
dettlaff | d318c813ed | |
dettlaff | e7d330428e | |
def | 29b5efff23 | |
def | ff3800270e | |
def | 3f9b1c699d | |
def | 518f36ceb7 | |
def | 875df66b86 | |
def | 0af885c8e0 | |
Inex Code | cb5b2a6661 | |
dettlaff | 8cd025a159 | |
dettlaff | 53b7f8a845 | |
Inex Code | 027eeb473c | |
dettlaff | 789dd9b067 | |
dettlaff | 1ce8511c6b | |
dettlaff | 26edcbbe92 | |
Inex Code | dd6552ed9d | |
dettlaff | fdea9128d9 | |
Inex Code | 76cd469fe9 | |
dettlaff | d761f7b1b5 | |
Inex Code | 0bd920deeb | |
def | 37a58ffdc1 | |
def | bcef121659 | |
Inex Code | a2268e619b | |
Inex Code | 1effed4354 | |
dettlaff | ed1971e6be | |
dettlaff | a872656331 | |
dettlaff | 262c63f7f3 | |
dettlaff | ff316da1e9 | |
def | 676256d50b | |
def | 51992b86d6 | |
def | d9a99fd49e | |
Inex Code | 777f0ed110 | |
Inex Code | 5f00aaf65a | |
def | beae1e27b9 | |
def | 493bfbecee | |
Const an teen | fa9b596227 | |
Inex Code | 6bed2c77ba | |
Inex Code | 056a2a33ea | |
Inex Code | 13befaf0d9 | |
def | 496f1720bf | |
def | dc298d295a | |
def | b204467328 | |
def | 81f9b9a7a9 | |
Inex Code | a8171b49c4 | |
def | 6f8114bfb0 | |
def | 297b127859 | |
Inex Code | f926a1401a | |
Inex Code | 63b01b1479 | |
def | 4c782a49cf | |
def | 0e3f0b9c72 | |
def | a8cba35bf3 | |
def | baa42d5897 | |
def | 8425522c66 | |
def | 347d2893f4 | |
def | d38c676bdf | |
def | 00fe417391 | |
def | 8c7e22bdba | |
def | cd1401767c | |
def | 0d9d1b833e | |
Inex Code | f9f136f11a | |
Inex Code | 1244ac544f | |
Inex Code | f8161e5195 | |
Inex Code | 786fd65793 | |
Inex Code | ee32ec4f30 | |
Inex Code | 67896e9a3c | |
Inex Code | b8f7020874 | |
Inex Code | 41c310f733 | |
Inex Code | 01dd95154c | |
Inex Code | f0d01a4b84 | |
Inex Code | 993da8f8b3 | |
Inex Code | 5c4c9f6f09 | |
Inex Code | bb17087fb2 | |
def | 258a675eca | |
Inex Code | dbcb7e79fc | |
Inex Code | 3561966635 | |
Inex Code | e7a0dfc87a | |
Inex Code | 4e8c63218f | |
Inex Code | b7de57ef99 | |
Inex Code | 9afc5d29a8 | |
Inex Code | 6a152a6e8e | |
Inex Code | 8bfb70ca35 | |
Inex Code | 7996431ece | |
Inex Code | bf82420df5 | |
Inex Code | a0754579de | |
Inex Code | ce0b2d503a | |
def | 44622e37c2 | |
def | 7631c942b5 | |
def | bfd8674449 | |
def | 025a81eca4 | |
Inex Code | fc308a0924 | |
Inex Code | 8ec04fbf06 | |
Inex Code | b3f962d1e1 | |
Inex Code | ce1dd94703 | |
Inex Code | fa7dc5db48 | |
Inex Code | ac27596b4e | |
Inex Code | 245cf308a8 | |
Inex Code | 5849212726 | |
Inex Code | 5708e554a2 | |
Inex Code | c7b66bd8d4 | |
Inex Code | afa81f7d6f | |
Inex Code | 85f08b290f | |
Inex Code | b405ca00fa | |
Inex Code | e461c39102 | |
Inex Code | 2cdf4eb88a | |
def | 6a5d414e2e | |
Inex Code | 1dc4f23029 | |
munrocket | 269217afa0 | |
Inex Code | 622f43dc1e | |
munrocket | 6ed8fb1f5d | |
munrocket | 22c3d7ed09 | |
Inex Code | 1fc2fe153d | |
def | 096faae647 | |
Inex Code | ce7637b20f | |
Alya Sirko | 2fc4444f4e | |
Alya Sirko | 65e4be189e | |
Inex Code | d25f1f8839 | |
Alya Sirko | fe45d17015 | |
Alya Sirko | a1abd4c06f | |
Inex Code | 1d404a006a |
|
@ -0,0 +1,30 @@
|
||||||
|
kind: pipeline
|
||||||
|
type: exec
|
||||||
|
name: Build and Deploy
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Prepare
|
||||||
|
commands:
|
||||||
|
- eval $(ssh-agent -s)
|
||||||
|
- ssh-add - <<< "$SSH_PRIVATE_KEY"
|
||||||
|
- npm install postcss-cli
|
||||||
|
environment:
|
||||||
|
SSH_PRIVATE_KEY:
|
||||||
|
from_secret: SSH_PRIVATE_KEY
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
commands:
|
||||||
|
- hugo --gc
|
||||||
|
|
||||||
|
- name: Deploy
|
||||||
|
commands:
|
||||||
|
- scp -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null -r public/* deployer@selfprivacy.org:/var/www/selfprivacy.org
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
event:
|
||||||
|
- push
|
||||||
|
branch:
|
||||||
|
- master
|
||||||
|
|
||||||
|
node:
|
||||||
|
server: builder
|
|
@ -1,2 +1,5 @@
|
||||||
.idea/
|
/public
|
||||||
.DS_Store
|
resources/
|
||||||
|
node_modules/
|
||||||
|
package-lock.json
|
||||||
|
.hugo_build.lock
|
|
@ -0,0 +1,8 @@
|
||||||
|
# Default ignored files
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
||||||
|
# Editor-based HTTP Client requests
|
||||||
|
/httpRequests/
|
||||||
|
# Datasource local storage ignored files
|
||||||
|
/dataSources/
|
||||||
|
/dataSources.local.xml
|
|
@ -0,0 +1,10 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="general">
|
||||||
|
<commitTypes>
|
||||||
|
<entry providerId="37415b03-9388-4c55-b949-8c4526f6934d" order="2" />
|
||||||
|
<entry providerId="e9ce9acf-f4a6-4b36-b43c-531169556c29" order="2" />
|
||||||
|
<entry providerId="e9d4e8de-79a0-48b8-b1ba-b4161e2572c0" order="1" />
|
||||||
|
</commitTypes>
|
||||||
|
</component>
|
||||||
|
</project>
|
|
@ -0,0 +1,6 @@
|
||||||
|
<component name="InspectionProjectProfileManager">
|
||||||
|
<settings>
|
||||||
|
<option name="USE_PROJECT_PROFILE" value="false" />
|
||||||
|
<version value="1.0" />
|
||||||
|
</settings>
|
||||||
|
</component>
|
|
@ -0,0 +1,4 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.10" project-jdk-type="Python SDK" />
|
||||||
|
</project>
|
|
@ -0,0 +1,9 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectModuleManager">
|
||||||
|
<modules>
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/../docs.selfprivacy.org/.idea/docs.selfprivacy.org.iml" filepath="$PROJECT_DIR$/../docs.selfprivacy.org/.idea/docs.selfprivacy.org.iml" />
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/.idea/selfprivacy-docsy.iml" filepath="$PROJECT_DIR$/.idea/selfprivacy-docsy.iml" />
|
||||||
|
</modules>
|
||||||
|
</component>
|
||||||
|
</project>
|
|
@ -0,0 +1,9 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="PYTHON_MODULE" version="4">
|
||||||
|
<component name="NewModuleRootManager">
|
||||||
|
<content url="file://$MODULE_DIR$" />
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
<orderEntry type="module" module-name="docs.selfprivacy.org" />
|
||||||
|
</component>
|
||||||
|
</module>
|
|
@ -0,0 +1,13 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="CommitMessageInspectionProfile">
|
||||||
|
<profile version="1.0">
|
||||||
|
<inspection_tool class="CommitFormat" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||||
|
<inspection_tool class="CommitNamingConvention" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||||
|
</profile>
|
||||||
|
</component>
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="" vcs="Git" />
|
||||||
|
<mapping directory="$PROJECT_DIR$/../docs.selfprivacy.org" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
|
@ -0,0 +1,4 @@
|
||||||
|
FROM klakegg/hugo:ext-alpine
|
||||||
|
|
||||||
|
RUN apk add git && \
|
||||||
|
git config --global --add safe.directory /src
|
|
@ -0,0 +1,201 @@
|
||||||
|
Apache License
|
||||||
|
Version 2.0, January 2004
|
||||||
|
http://www.apache.org/licenses/
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction,
|
||||||
|
and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
||||||
|
the copyright owner that is granting the License.
|
||||||
|
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all
|
||||||
|
other entities that control, are controlled by, or are under common
|
||||||
|
control with that entity. For the purposes of this definition,
|
||||||
|
"control" means (i) the power, direct or indirect, to cause the
|
||||||
|
direction or management of such entity, whether by contract or
|
||||||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
||||||
|
exercising permissions granted by this License.
|
||||||
|
|
||||||
|
"Source" form shall mean the preferred form for making modifications,
|
||||||
|
including but not limited to software source code, documentation
|
||||||
|
source, and configuration files.
|
||||||
|
|
||||||
|
"Object" form shall mean any form resulting from mechanical
|
||||||
|
transformation or translation of a Source form, including but
|
||||||
|
not limited to compiled object code, generated documentation,
|
||||||
|
and conversions to other media types.
|
||||||
|
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or
|
||||||
|
Object form, made available under the License, as indicated by a
|
||||||
|
copyright notice that is included in or attached to the work
|
||||||
|
(an example is provided in the Appendix below).
|
||||||
|
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
||||||
|
form, that is based on (or derived from) the Work and for which the
|
||||||
|
editorial revisions, annotations, elaborations, or other modifications
|
||||||
|
represent, as a whole, an original work of authorship. For the purposes
|
||||||
|
of this License, Derivative Works shall not include works that remain
|
||||||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
||||||
|
the Work and Derivative Works thereof.
|
||||||
|
|
||||||
|
"Contribution" shall mean any work of authorship, including
|
||||||
|
the original version of the Work and any modifications or additions
|
||||||
|
to that Work or Derivative Works thereof, that is intentionally
|
||||||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
||||||
|
the copyright owner. For the purposes of this definition, "submitted"
|
||||||
|
means any form of electronic, verbal, or written communication sent
|
||||||
|
to the Licensor or its representatives, including but not limited to
|
||||||
|
communication on electronic mailing lists, source code control systems,
|
||||||
|
and issue tracking systems that are managed by, or on behalf of, the
|
||||||
|
Licensor for the purpose of discussing and improving the Work, but
|
||||||
|
excluding communication that is conspicuously marked or otherwise
|
||||||
|
designated in writing by the copyright owner as "Not a Contribution."
|
||||||
|
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||||
|
on behalf of whom a Contribution has been received by Licensor and
|
||||||
|
subsequently incorporated within the Work.
|
||||||
|
|
||||||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
copyright license to reproduce, prepare Derivative Works of,
|
||||||
|
publicly display, publicly perform, sublicense, and distribute the
|
||||||
|
Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
(except as stated in this section) patent license to make, have made,
|
||||||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||||
|
where such license applies only to those patent claims licensable
|
||||||
|
by such Contributor that are necessarily infringed by their
|
||||||
|
Contribution(s) alone or by combination of their Contribution(s)
|
||||||
|
with the Work to which such Contribution(s) was submitted. If You
|
||||||
|
institute patent litigation against any entity (including a
|
||||||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||||
|
or a Contribution incorporated within the Work constitutes direct
|
||||||
|
or contributory patent infringement, then any patent licenses
|
||||||
|
granted to You under this License for that Work shall terminate
|
||||||
|
as of the date such litigation is filed.
|
||||||
|
|
||||||
|
4. Redistribution. You may reproduce and distribute copies of the
|
||||||
|
Work or Derivative Works thereof in any medium, with or without
|
||||||
|
modifications, and in Source or Object form, provided that You
|
||||||
|
meet the following conditions:
|
||||||
|
|
||||||
|
(a) You must give any other recipients of the Work or
|
||||||
|
Derivative Works a copy of this License; and
|
||||||
|
|
||||||
|
(b) You must cause any modified files to carry prominent notices
|
||||||
|
stating that You changed the files; and
|
||||||
|
|
||||||
|
(c) You must retain, in the Source form of any Derivative Works
|
||||||
|
that You distribute, all copyright, patent, trademark, and
|
||||||
|
attribution notices from the Source form of the Work,
|
||||||
|
excluding those notices that do not pertain to any part of
|
||||||
|
the Derivative Works; and
|
||||||
|
|
||||||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
||||||
|
distribution, then any Derivative Works that You distribute must
|
||||||
|
include a readable copy of the attribution notices contained
|
||||||
|
within such NOTICE file, excluding those notices that do not
|
||||||
|
pertain to any part of the Derivative Works, in at least one
|
||||||
|
of the following places: within a NOTICE text file distributed
|
||||||
|
as part of the Derivative Works; within the Source form or
|
||||||
|
documentation, if provided along with the Derivative Works; or,
|
||||||
|
within a display generated by the Derivative Works, if and
|
||||||
|
wherever such third-party notices normally appear. The contents
|
||||||
|
of the NOTICE file are for informational purposes only and
|
||||||
|
do not modify the License. You may add Your own attribution
|
||||||
|
notices within Derivative Works that You distribute, alongside
|
||||||
|
or as an addendum to the NOTICE text from the Work, provided
|
||||||
|
that such additional attribution notices cannot be construed
|
||||||
|
as modifying the License.
|
||||||
|
|
||||||
|
You may add Your own copyright statement to Your modifications and
|
||||||
|
may provide additional or different license terms and conditions
|
||||||
|
for use, reproduction, or distribution of Your modifications, or
|
||||||
|
for any such Derivative Works as a whole, provided Your use,
|
||||||
|
reproduction, and distribution of the Work otherwise complies with
|
||||||
|
the conditions stated in this License.
|
||||||
|
|
||||||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||||
|
any Contribution intentionally submitted for inclusion in the Work
|
||||||
|
by You to the Licensor shall be under the terms and conditions of
|
||||||
|
this License, without any additional terms or conditions.
|
||||||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
||||||
|
the terms of any separate license agreement you may have executed
|
||||||
|
with Licensor regarding such Contributions.
|
||||||
|
|
||||||
|
6. Trademarks. This License does not grant permission to use the trade
|
||||||
|
names, trademarks, service marks, or product names of the Licensor,
|
||||||
|
except as required for reasonable and customary use in describing the
|
||||||
|
origin of the Work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||||
|
agreed to in writing, Licensor provides the Work (and each
|
||||||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
implied, including, without limitation, any warranties or conditions
|
||||||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||||
|
appropriateness of using or redistributing the Work and assume any
|
||||||
|
risks associated with Your exercise of permissions under this License.
|
||||||
|
|
||||||
|
8. Limitation of Liability. In no event and under no legal theory,
|
||||||
|
whether in tort (including negligence), contract, or otherwise,
|
||||||
|
unless required by applicable law (such as deliberate and grossly
|
||||||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
||||||
|
liable to You for damages, including any direct, indirect, special,
|
||||||
|
incidental, or consequential damages of any character arising as a
|
||||||
|
result of this License or out of the use or inability to use the
|
||||||
|
Work (including but not limited to damages for loss of goodwill,
|
||||||
|
work stoppage, computer failure or malfunction, or any and all
|
||||||
|
other commercial damages or losses), even if such Contributor
|
||||||
|
has been advised of the possibility of such damages.
|
||||||
|
|
||||||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
||||||
|
the Work or Derivative Works thereof, You may choose to offer,
|
||||||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||||
|
or other liability obligations and/or rights consistent with this
|
||||||
|
License. However, in accepting such obligations, You may act only
|
||||||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
||||||
|
of any other Contributor, and only if You agree to indemnify,
|
||||||
|
defend, and hold each Contributor harmless for any liability
|
||||||
|
incurred by, or claims asserted against, such Contributor by reason
|
||||||
|
of your accepting any such warranty or additional liability.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
APPENDIX: How to apply the Apache License to your work.
|
||||||
|
|
||||||
|
To apply the Apache License to your work, attach the following
|
||||||
|
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||||
|
replaced with your own identifying information. (Don't include
|
||||||
|
the brackets!) The text should be enclosed in the appropriate
|
||||||
|
comment syntax for the file format. We also recommend that a
|
||||||
|
file or class name and description of purpose be included on the
|
||||||
|
same "printed page" as the copyright notice for easier
|
||||||
|
identification within third-party archives.
|
||||||
|
|
||||||
|
Copyright [yyyy] [name of copyright owner]
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
|
@ -0,0 +1,138 @@
|
||||||
|
# Docsy Example
|
||||||
|
|
||||||
|
[Docsy][] is a [Hugo theme module][] for technical documentation sites, providing easy
|
||||||
|
site navigation, structure, and more. This **Docsy Example Project** uses the Docsy
|
||||||
|
theme component as a hugo module and provides a skeleton documentation structure for you to use.
|
||||||
|
You can clone/copy this project and edit it with your own content, or use it as an example.
|
||||||
|
|
||||||
|
In this project, the Docsy theme component is pulled in as a Hugo module, together with other module dependencies:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ hugo mod graph
|
||||||
|
hugo: collected modules in 566 ms
|
||||||
|
hugo: collected modules in 578 ms
|
||||||
|
github.com/google/docsy-example github.com/google/docsy@v0.5.1-0.20221017155306-99eacb09ffb0
|
||||||
|
github.com/google/docsy-example github.com/google/docsy/dependencies@v0.5.1-0.20221014161617-be5da07ecff1
|
||||||
|
github.com/google/docsy/dependencies@v0.5.1-0.20221014161617-be5da07ecff1 github.com/twbs/bootstrap@v4.6.2+incompatible
|
||||||
|
github.com/google/docsy/dependencies@v0.5.1-0.20221014161617-be5da07ecff1 github.com/FortAwesome/Font-Awesome@v0.0.0-20220831210243-d3a7818c253f
|
||||||
|
```
|
||||||
|
|
||||||
|
You can find detailed theme instructions in the [Docsy user guide][].
|
||||||
|
|
||||||
|
This Docsy Example Project is hosted on [Netlify][] at [example.docsy.dev][].
|
||||||
|
You can view deploy logs from the [deploy section of the project's Netlify
|
||||||
|
dashboard][deploys], or this [alternate dashboard][].
|
||||||
|
|
||||||
|
This is not an officially supported Google product. This project is currently maintained.
|
||||||
|
|
||||||
|
## Using the Docsy Example Project as a template
|
||||||
|
|
||||||
|
A simple way to get started is to use this project as a template, which gives you a site project that is set up and ready to use. To do this:
|
||||||
|
|
||||||
|
1. Click **Use this template**.
|
||||||
|
|
||||||
|
2. Select a name for your new project and click **Create repository from template**.
|
||||||
|
|
||||||
|
3. Make your own local working copy of your new repo using git clone, replacing https://github.com/me/example.git with your repo’s web URL:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone --depth 1 https://github.com/me/example.git
|
||||||
|
```
|
||||||
|
|
||||||
|
You can now edit your own versions of the site’s source files.
|
||||||
|
|
||||||
|
If you want to do SCSS edits and want to publish these, you need to install `PostCSS`
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm install
|
||||||
|
```
|
||||||
|
|
||||||
|
## Running the website locally
|
||||||
|
|
||||||
|
Building and running the site locally requires a recent `extended` version of [Hugo](https://gohugo.io).
|
||||||
|
You can find out more about how to install Hugo for your environment in our
|
||||||
|
[Getting started](https://www.docsy.dev/docs/getting-started/#prerequisites-and-installation) guide.
|
||||||
|
|
||||||
|
Once you've made your working copy of the site repo, from the repo root folder, run:
|
||||||
|
|
||||||
|
```
|
||||||
|
hugo server
|
||||||
|
```
|
||||||
|
|
||||||
|
## Running a container locally
|
||||||
|
|
||||||
|
You can run docsy-example inside a [Docker](https://docs.docker.com/)
|
||||||
|
container, the container runs with a volume bound to the `docsy-example`
|
||||||
|
folder. This approach doesn't require you to install any dependencies other
|
||||||
|
than [Docker Desktop](https://www.docker.com/products/docker-desktop) on
|
||||||
|
Windows and Mac, and [Docker Compose](https://docs.docker.com/compose/install/)
|
||||||
|
on Linux.
|
||||||
|
|
||||||
|
1. Build the docker image
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker-compose build
|
||||||
|
```
|
||||||
|
|
||||||
|
1. Run the built image
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker-compose up
|
||||||
|
```
|
||||||
|
|
||||||
|
> NOTE: You can run both commands at once with `docker-compose up --build`.
|
||||||
|
|
||||||
|
1. Verify that the service is working.
|
||||||
|
|
||||||
|
Open your web browser and type `http://localhost:1313` in your navigation bar,
|
||||||
|
This opens a local instance of the docsy-example homepage. You can now make
|
||||||
|
changes to the docsy example and those changes will immediately show up in your
|
||||||
|
browser after you save.
|
||||||
|
|
||||||
|
### Cleanup
|
||||||
|
|
||||||
|
To stop Docker Compose, on your terminal window, press **Ctrl + C**.
|
||||||
|
|
||||||
|
To remove the produced images run:
|
||||||
|
|
||||||
|
```console
|
||||||
|
docker-compose rm
|
||||||
|
```
|
||||||
|
For more information see the [Docker Compose
|
||||||
|
documentation](https://docs.docker.com/compose/gettingstarted/).
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
As you run the website locally, you may run into the following error:
|
||||||
|
|
||||||
|
```
|
||||||
|
➜ hugo server
|
||||||
|
|
||||||
|
INFO 2021/01/21 21:07:55 Using config file:
|
||||||
|
Building sites … INFO 2021/01/21 21:07:55 syncing static files to /
|
||||||
|
Built in 288 ms
|
||||||
|
Error: Error building site: TOCSS: failed to transform "scss/main.scss" (text/x-scss): resource "scss/scss/main.scss_9fadf33d895a46083cdd64396b57ef68" not found in file cache
|
||||||
|
```
|
||||||
|
|
||||||
|
This error occurs if you have not installed the extended version of Hugo.
|
||||||
|
See this [section](https://www.docsy.dev/docs/get-started/docsy-as-module/installation-prerequisites/#install-hugo) of the user guide for instructions on how to install Hugo.
|
||||||
|
|
||||||
|
Or you may encounter the following error:
|
||||||
|
|
||||||
|
```
|
||||||
|
➜ hugo server
|
||||||
|
|
||||||
|
Error: failed to download modules: binary with name "go" not found
|
||||||
|
```
|
||||||
|
|
||||||
|
This error occurs if you have not installed the `go` programming language on your system.
|
||||||
|
See this [section](https://www.docsy.dev/docs/get-started/docsy-as-module/installation-prerequisites/#install-go-language) of the user guide for instructions on how to install `go`.
|
||||||
|
|
||||||
|
|
||||||
|
[alternate dashboard]: https://app.netlify.com/sites/goldydocs/deploys
|
||||||
|
[deploys]: https://app.netlify.com/sites/docsy-example/deploys
|
||||||
|
[Docsy user guide]: https://docsy.dev/docs
|
||||||
|
[Docsy]: https://github.com/google/docsy
|
||||||
|
[example.docsy.dev]: https://example.docsy.dev
|
||||||
|
[Hugo theme module]: https://gohugo.io/hugo-modules/use-modules/#use-a-module-for-a-theme
|
||||||
|
[Netlify]: https://netlify.com
|
|
@ -0,0 +1,153 @@
|
||||||
|
// animating icons
|
||||||
|
// --------------------------
|
||||||
|
|
||||||
|
.#{$fa-css-prefix}-beat {
|
||||||
|
animation-name: #{$fa-css-prefix}-beat;
|
||||||
|
animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0s);
|
||||||
|
animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal);
|
||||||
|
animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s);
|
||||||
|
animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite);
|
||||||
|
animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, ease-in-out);
|
||||||
|
}
|
||||||
|
|
||||||
|
.#{$fa-css-prefix}-bounce {
|
||||||
|
animation-name: #{$fa-css-prefix}-bounce;
|
||||||
|
animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0s);
|
||||||
|
animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal);
|
||||||
|
animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s);
|
||||||
|
animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite);
|
||||||
|
animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, cubic-bezier(0.280, 0.840, 0.420, 1));
|
||||||
|
}
|
||||||
|
|
||||||
|
.#{$fa-css-prefix}-fade {
|
||||||
|
animation-name: #{$fa-css-prefix}-fade;
|
||||||
|
animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0s);
|
||||||
|
animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal);
|
||||||
|
animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s);
|
||||||
|
animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite);
|
||||||
|
animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, cubic-bezier(.4,0,.6,1));
|
||||||
|
}
|
||||||
|
|
||||||
|
.#{$fa-css-prefix}-beat-fade {
|
||||||
|
animation-name: #{$fa-css-prefix}-beat-fade;
|
||||||
|
animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0s);
|
||||||
|
animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal);
|
||||||
|
animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s);
|
||||||
|
animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite);
|
||||||
|
animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, cubic-bezier(.4,0,.6,1));
|
||||||
|
}
|
||||||
|
|
||||||
|
.#{$fa-css-prefix}-flip {
|
||||||
|
animation-name: #{$fa-css-prefix}-flip;
|
||||||
|
animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0s);
|
||||||
|
animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal);
|
||||||
|
animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s);
|
||||||
|
animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite);
|
||||||
|
animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, ease-in-out);
|
||||||
|
}
|
||||||
|
|
||||||
|
.#{$fa-css-prefix}-shake {
|
||||||
|
animation-name: #{$fa-css-prefix}-shake;
|
||||||
|
animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0s);
|
||||||
|
animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal);
|
||||||
|
animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s);
|
||||||
|
animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite);
|
||||||
|
animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, linear);
|
||||||
|
}
|
||||||
|
|
||||||
|
.#{$fa-css-prefix}-spin {
|
||||||
|
animation-name: #{$fa-css-prefix}-spin;
|
||||||
|
animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0s);
|
||||||
|
animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal);
|
||||||
|
animation-duration: var(--#{$fa-css-prefix}-animation-duration, 2s);
|
||||||
|
animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite);
|
||||||
|
animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, linear);
|
||||||
|
}
|
||||||
|
|
||||||
|
.#{$fa-css-prefix}-spin-reverse {
|
||||||
|
--#{$fa-css-prefix}-animation-direction: reverse;
|
||||||
|
}
|
||||||
|
|
||||||
|
.#{$fa-css-prefix}-pulse,
|
||||||
|
.#{$fa-css-prefix}-spin-pulse {
|
||||||
|
animation-name: #{$fa-css-prefix}-spin;
|
||||||
|
animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal);
|
||||||
|
animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s);
|
||||||
|
animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite);
|
||||||
|
animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, steps(8));
|
||||||
|
}
|
||||||
|
|
||||||
|
// if agent or operating system prefers reduced motion, disable animations
|
||||||
|
// see: https://www.smashingmagazine.com/2020/09/design-reduced-motion-sensitivities/
|
||||||
|
// see: https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion
|
||||||
|
@media (prefers-reduced-motion: reduce) {
|
||||||
|
.#{$fa-css-prefix}-beat,
|
||||||
|
.#{$fa-css-prefix}-bounce,
|
||||||
|
.#{$fa-css-prefix}-fade,
|
||||||
|
.#{$fa-css-prefix}-beat-fade,
|
||||||
|
.#{$fa-css-prefix}-flip,
|
||||||
|
.#{$fa-css-prefix}-pulse,
|
||||||
|
.#{$fa-css-prefix}-shake,
|
||||||
|
.#{$fa-css-prefix}-spin,
|
||||||
|
.#{$fa-css-prefix}-spin-pulse {
|
||||||
|
animation-delay: -1ms;
|
||||||
|
animation-duration: 1ms;
|
||||||
|
animation-iteration-count: 1;
|
||||||
|
transition-delay: 0s;
|
||||||
|
transition-duration: 0s;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes #{$fa-css-prefix}-beat {
|
||||||
|
0%, 90% { transform: scale(1); }
|
||||||
|
45% { transform: scale(var(--#{$fa-css-prefix}-beat-scale, 1.25)); }
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes #{$fa-css-prefix}-bounce {
|
||||||
|
0% { transform: scale(1,1) translateY(0); }
|
||||||
|
10% { transform: scale(var(--#{$fa-css-prefix}-bounce-start-scale-x, 1.1),var(--#{$fa-css-prefix}-bounce-start-scale-y, 0.9)) translateY(0); }
|
||||||
|
30% { transform: scale(var(--#{$fa-css-prefix}-bounce-jump-scale-x, 0.9),var(--#{$fa-css-prefix}-bounce-jump-scale-y, 1.1)) translateY(var(--#{$fa-css-prefix}-bounce-height, -0.5em)); }
|
||||||
|
50% { transform: scale(var(--#{$fa-css-prefix}-bounce-land-scale-x, 1.05),var(--#{$fa-css-prefix}-bounce-land-scale-y, 0.95)) translateY(0); }
|
||||||
|
57% { transform: scale(1,1) translateY(var(--#{$fa-css-prefix}-bounce-rebound, -0.125em)); }
|
||||||
|
64% { transform: scale(1,1) translateY(0); }
|
||||||
|
100% { transform: scale(1,1) translateY(0); }
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes #{$fa-css-prefix}-fade {
|
||||||
|
50% { opacity: var(--#{$fa-css-prefix}-fade-opacity, 0.4); }
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes #{$fa-css-prefix}-beat-fade {
|
||||||
|
0%, 100% {
|
||||||
|
opacity: var(--#{$fa-css-prefix}-beat-fade-opacity, 0.4);
|
||||||
|
transform: scale(1);
|
||||||
|
}
|
||||||
|
50% {
|
||||||
|
opacity: 1;
|
||||||
|
transform: scale(var(--#{$fa-css-prefix}-beat-fade-scale, 1.125));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes #{$fa-css-prefix}-flip {
|
||||||
|
50% {
|
||||||
|
transform: rotate3d(var(--#{$fa-css-prefix}-flip-x, 0), var(--#{$fa-css-prefix}-flip-y, 1), var(--#{$fa-css-prefix}-flip-z, 0), var(--#{$fa-css-prefix}-flip-angle, -180deg));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes #{$fa-css-prefix}-shake {
|
||||||
|
0% { transform: rotate(-15deg); }
|
||||||
|
4% { transform: rotate(15deg); }
|
||||||
|
8%, 24% { transform: rotate(-18deg); }
|
||||||
|
12%, 28% { transform: rotate(18deg); }
|
||||||
|
16% { transform: rotate(-22deg); }
|
||||||
|
20% { transform: rotate(22deg); }
|
||||||
|
32% { transform: rotate(-12deg); }
|
||||||
|
36% { transform: rotate(12deg); }
|
||||||
|
40%, 100% { transform: rotate(0deg); }
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes #{$fa-css-prefix}-spin {
|
||||||
|
0% { transform: rotate(0deg); }
|
||||||
|
100% { transform: rotate(360deg); }
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
// bordered + pulled icons
|
||||||
|
// -------------------------
|
||||||
|
|
||||||
|
.#{$fa-css-prefix}-border {
|
||||||
|
border-color: var(--#{$fa-css-prefix}-border-color, #{$fa-border-color});
|
||||||
|
border-radius: var(--#{$fa-css-prefix}-border-radius, #{$fa-border-radius});
|
||||||
|
border-style: var(--#{$fa-css-prefix}-border-style, #{$fa-border-style});
|
||||||
|
border-width: var(--#{$fa-css-prefix}-border-width, #{$fa-border-width});
|
||||||
|
padding: var(--#{$fa-css-prefix}-border-padding, #{$fa-border-padding});
|
||||||
|
}
|
||||||
|
|
||||||
|
.#{$fa-css-prefix}-pull-left {
|
||||||
|
float: left;
|
||||||
|
margin-right: var(--#{$fa-css-prefix}-pull-margin, #{$fa-pull-margin});
|
||||||
|
}
|
||||||
|
|
||||||
|
.#{$fa-css-prefix}-pull-right {
|
||||||
|
float: right;
|
||||||
|
margin-left: var(--#{$fa-css-prefix}-pull-margin, #{$fa-pull-margin});
|
||||||
|
}
|
|
@ -0,0 +1,43 @@
|
||||||
|
// base icon class definition
|
||||||
|
// -------------------------
|
||||||
|
|
||||||
|
.#{$fa-css-prefix} {
|
||||||
|
font-family: var(--#{$fa-css-prefix}-style-family, '#{$fa-style-family}');
|
||||||
|
font-weight: var(--#{$fa-css-prefix}-style, #{$fa-style});
|
||||||
|
}
|
||||||
|
|
||||||
|
.#{$fa-css-prefix},
|
||||||
|
.#{$fa-css-prefix}-classic,
|
||||||
|
.#{$fa-css-prefix}-sharp,
|
||||||
|
.fas,
|
||||||
|
.#{$fa-css-prefix}-solid,
|
||||||
|
.far,
|
||||||
|
.#{$fa-css-prefix}-regular,
|
||||||
|
.fab,
|
||||||
|
.#{$fa-css-prefix}-brands {
|
||||||
|
-moz-osx-font-smoothing: grayscale;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
display: var(--#{$fa-css-prefix}-display, #{$fa-display});
|
||||||
|
font-style: normal;
|
||||||
|
font-variant: normal;
|
||||||
|
line-height: 1;
|
||||||
|
text-rendering: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fas,
|
||||||
|
.#{$fa-css-prefix}-classic,
|
||||||
|
.#{$fa-css-prefix}-solid,
|
||||||
|
.far,
|
||||||
|
.#{$fa-css-prefix}-regular {
|
||||||
|
font-family: 'Font Awesome 6 Free';
|
||||||
|
}
|
||||||
|
|
||||||
|
.fab,
|
||||||
|
.#{$fa-css-prefix}-brands {
|
||||||
|
font-family: 'Font Awesome 6 Brands';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
%fa-icon {
|
||||||
|
@include fa-icon;
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
// fixed-width icons
|
||||||
|
// -------------------------
|
||||||
|
|
||||||
|
.#{$fa-css-prefix}-fw {
|
||||||
|
text-align: center;
|
||||||
|
width: $fa-fw-width;
|
||||||
|
}
|
|
@ -0,0 +1,57 @@
|
||||||
|
// functions
|
||||||
|
// --------------------------
|
||||||
|
|
||||||
|
// fa-content: convenience function used to set content property
|
||||||
|
@function fa-content($fa-var) {
|
||||||
|
@return unquote("\"#{ $fa-var }\"");
|
||||||
|
}
|
||||||
|
|
||||||
|
// fa-divide: Originally obtained from the Bootstrap https://github.com/twbs/bootstrap
|
||||||
|
//
|
||||||
|
// Licensed under: The MIT License (MIT)
|
||||||
|
//
|
||||||
|
// Copyright (c) 2011-2021 Twitter, Inc.
|
||||||
|
// Copyright (c) 2011-2021 The Bootstrap Authors
|
||||||
|
//
|
||||||
|
// 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 NONINFRINGEMENT. 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.
|
||||||
|
|
||||||
|
@function fa-divide($dividend, $divisor, $precision: 10) {
|
||||||
|
$sign: if($dividend > 0 and $divisor > 0, 1, -1);
|
||||||
|
$dividend: abs($dividend);
|
||||||
|
$divisor: abs($divisor);
|
||||||
|
$quotient: 0;
|
||||||
|
$remainder: $dividend;
|
||||||
|
@if $dividend == 0 {
|
||||||
|
@return 0;
|
||||||
|
}
|
||||||
|
@if $divisor == 0 {
|
||||||
|
@error "Cannot divide by 0";
|
||||||
|
}
|
||||||
|
@if $divisor == 1 {
|
||||||
|
@return $dividend;
|
||||||
|
}
|
||||||
|
@while $remainder >= $divisor {
|
||||||
|
$quotient: $quotient + 1;
|
||||||
|
$remainder: $remainder - $divisor;
|
||||||
|
}
|
||||||
|
@if $remainder > 0 and $precision > 0 {
|
||||||
|
$remainder: fa-divide($remainder * 10, $divisor, $precision - 1) * .1;
|
||||||
|
}
|
||||||
|
@return ($quotient + $remainder) * $sign;
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
// specific icon class definition
|
||||||
|
// -------------------------
|
||||||
|
|
||||||
|
/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
|
||||||
|
readers do not read off random characters that represent icons */
|
||||||
|
|
||||||
|
@each $name, $icon in $fa-icons {
|
||||||
|
.#{$fa-css-prefix}-#{$name}::before { content: unquote("\"#{ $icon }\""); }
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
// icons in a list
|
||||||
|
// -------------------------
|
||||||
|
|
||||||
|
.#{$fa-css-prefix}-ul {
|
||||||
|
list-style-type: none;
|
||||||
|
margin-left: var(--#{$fa-css-prefix}-li-margin, #{$fa-li-margin});
|
||||||
|
padding-left: 0;
|
||||||
|
|
||||||
|
> li { position: relative; }
|
||||||
|
}
|
||||||
|
|
||||||
|
.#{$fa-css-prefix}-li {
|
||||||
|
left: calc(var(--#{$fa-css-prefix}-li-width, #{$fa-li-width}) * -1);
|
||||||
|
position: absolute;
|
||||||
|
text-align: center;
|
||||||
|
width: var(--#{$fa-css-prefix}-li-width, #{$fa-li-width});
|
||||||
|
line-height: inherit;
|
||||||
|
}
|
|
@ -0,0 +1,75 @@
|
||||||
|
// mixins
|
||||||
|
// --------------------------
|
||||||
|
|
||||||
|
// base rendering for an icon
|
||||||
|
@mixin fa-icon {
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
-moz-osx-font-smoothing: grayscale;
|
||||||
|
display: inline-block;
|
||||||
|
font-style: normal;
|
||||||
|
font-variant: normal;
|
||||||
|
font-weight: normal;
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// sets relative font-sizing and alignment (in _sizing)
|
||||||
|
@mixin fa-size ($font-size) {
|
||||||
|
font-size: fa-divide($font-size, $fa-size-scale-base) * 1em; // converts step in sizing scale into an em-based value that's relative to the scale's base
|
||||||
|
line-height: fa-divide(1, $font-size) * 1em; // sets the line-height of the icon back to that of it's parent
|
||||||
|
vertical-align: (fa-divide(6, $font-size) - fa-divide(3, 8)) * 1em; // vertically centers the icon taking into account the surrounding text's descender
|
||||||
|
}
|
||||||
|
|
||||||
|
// only display content to screen readers
|
||||||
|
// see: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/
|
||||||
|
// see: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/
|
||||||
|
@mixin fa-sr-only() {
|
||||||
|
position: absolute;
|
||||||
|
width: 1px;
|
||||||
|
height: 1px;
|
||||||
|
padding: 0;
|
||||||
|
margin: -1px;
|
||||||
|
overflow: hidden;
|
||||||
|
clip: rect(0, 0, 0, 0);
|
||||||
|
white-space: nowrap;
|
||||||
|
border-width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// use in conjunction with .sr-only to only display content when it's focused
|
||||||
|
@mixin fa-sr-only-focusable() {
|
||||||
|
&:not(:focus) {
|
||||||
|
@include fa-sr-only();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// sets a specific icon family to use alongside style + icon mixins
|
||||||
|
|
||||||
|
// convenience mixins for declaring pseudo-elements by CSS variable,
|
||||||
|
// including all style-specific font properties, and both the ::before
|
||||||
|
// and ::after elements in the duotone case.
|
||||||
|
@mixin fa-icon-solid($fa-var) {
|
||||||
|
@extend %fa-icon;
|
||||||
|
@extend .fa-solid;
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
content: unquote("\"#{ $fa-var }\"");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin fa-icon-regular($fa-var) {
|
||||||
|
@extend %fa-icon;
|
||||||
|
@extend .fa-regular;
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
content: unquote("\"#{ $fa-var }\"");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin fa-icon-brands($fa-var) {
|
||||||
|
@extend %fa-icon;
|
||||||
|
@extend .fa-brands;
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
content: unquote("\"#{ $fa-var }\"");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
// rotating + flipping icons
|
||||||
|
// -------------------------
|
||||||
|
|
||||||
|
.#{$fa-css-prefix}-rotate-90 {
|
||||||
|
transform: rotate(90deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
.#{$fa-css-prefix}-rotate-180 {
|
||||||
|
transform: rotate(180deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
.#{$fa-css-prefix}-rotate-270 {
|
||||||
|
transform: rotate(270deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
.#{$fa-css-prefix}-flip-horizontal {
|
||||||
|
transform: scale(-1, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.#{$fa-css-prefix}-flip-vertical {
|
||||||
|
transform: scale(1, -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.#{$fa-css-prefix}-flip-both,
|
||||||
|
.#{$fa-css-prefix}-flip-horizontal.#{$fa-css-prefix}-flip-vertical {
|
||||||
|
transform: scale(-1, -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.#{$fa-css-prefix}-rotate-by {
|
||||||
|
transform: rotate(var(--#{$fa-css-prefix}-rotate-angle, none));
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
// screen-reader utilities
|
||||||
|
// -------------------------
|
||||||
|
|
||||||
|
// only display content to screen readers
|
||||||
|
.sr-only,
|
||||||
|
.#{$fa-css-prefix}-sr-only {
|
||||||
|
@include fa-sr-only;
|
||||||
|
}
|
||||||
|
|
||||||
|
// use in conjunction with .sr-only to only display content when it's focused
|
||||||
|
.sr-only-focusable,
|
||||||
|
.#{$fa-css-prefix}-sr-only-focusable {
|
||||||
|
@include fa-sr-only-focusable;
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,16 @@
|
||||||
|
// sizing icons
|
||||||
|
// -------------------------
|
||||||
|
|
||||||
|
// literal magnification scale
|
||||||
|
@for $i from 1 through 10 {
|
||||||
|
.#{$fa-css-prefix}-#{$i}x {
|
||||||
|
font-size: $i * 1em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// step-based scale (with alignment)
|
||||||
|
@each $size, $value in $fa-sizes {
|
||||||
|
.#{$fa-css-prefix}-#{$size} {
|
||||||
|
@include fa-size($value);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,32 @@
|
||||||
|
// stacking icons
|
||||||
|
// -------------------------
|
||||||
|
|
||||||
|
.#{$fa-css-prefix}-stack {
|
||||||
|
display: inline-block;
|
||||||
|
height: 2em;
|
||||||
|
line-height: 2em;
|
||||||
|
position: relative;
|
||||||
|
vertical-align: $fa-stack-vertical-align;
|
||||||
|
width: $fa-stack-width;
|
||||||
|
}
|
||||||
|
|
||||||
|
.#{$fa-css-prefix}-stack-1x,
|
||||||
|
.#{$fa-css-prefix}-stack-2x {
|
||||||
|
left: 0;
|
||||||
|
position: absolute;
|
||||||
|
text-align: center;
|
||||||
|
width: 100%;
|
||||||
|
z-index: var(--#{$fa-css-prefix}-stack-z-index, #{$fa-stack-z-index});
|
||||||
|
}
|
||||||
|
|
||||||
|
.#{$fa-css-prefix}-stack-1x {
|
||||||
|
line-height: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
.#{$fa-css-prefix}-stack-2x {
|
||||||
|
font-size: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.#{$fa-css-prefix}-inverse {
|
||||||
|
color: var(--#{$fa-css-prefix}-inverse, #{$fa-inverse});
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,30 @@
|
||||||
|
/*!
|
||||||
|
* Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com
|
||||||
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||||
|
* Copyright 2023 Fonticons, Inc.
|
||||||
|
*/
|
||||||
|
@import 'functions';
|
||||||
|
@import 'variables';
|
||||||
|
|
||||||
|
:root, :host {
|
||||||
|
--#{$fa-css-prefix}-style-family-brands: 'Font Awesome 6 Brands';
|
||||||
|
--#{$fa-css-prefix}-font-brands: normal 400 1em/1 'Font Awesome 6 Brands';
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Font Awesome 6 Brands';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
font-display: $fa-font-display;
|
||||||
|
src: url('#{$fa-font-path}/fa-brands-400.woff2') format('woff2'),
|
||||||
|
url('#{$fa-font-path}/fa-brands-400.ttf') format('truetype');
|
||||||
|
}
|
||||||
|
|
||||||
|
.fab,
|
||||||
|
.#{$fa-css-prefix}-brands {
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
|
||||||
|
@each $name, $icon in $fa-brand-icons {
|
||||||
|
.#{$fa-css-prefix}-#{$name}:before { content: unquote("\"#{ $icon }\""); }
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
/*!
|
||||||
|
* Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com
|
||||||
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||||
|
* Copyright 2023 Fonticons, Inc.
|
||||||
|
*/
|
||||||
|
// Font Awesome core compile (Web Fonts-based)
|
||||||
|
// -------------------------
|
||||||
|
|
||||||
|
@import 'functions';
|
||||||
|
@import 'variables';
|
||||||
|
@import 'mixins';
|
||||||
|
@import 'core';
|
||||||
|
@import 'sizing';
|
||||||
|
@import 'fixed-width';
|
||||||
|
@import 'list';
|
||||||
|
@import 'bordered-pulled';
|
||||||
|
@import 'animated';
|
||||||
|
@import 'rotated-flipped';
|
||||||
|
@import 'stacked';
|
||||||
|
@import 'icons';
|
||||||
|
@import 'screen-reader';
|
|
@ -0,0 +1,26 @@
|
||||||
|
/*!
|
||||||
|
* Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com
|
||||||
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||||
|
* Copyright 2023 Fonticons, Inc.
|
||||||
|
*/
|
||||||
|
@import 'functions';
|
||||||
|
@import 'variables';
|
||||||
|
|
||||||
|
:root, :host {
|
||||||
|
--#{$fa-css-prefix}-style-family-classic: '#{ $fa-style-family }';
|
||||||
|
--#{$fa-css-prefix}-font-regular: normal 400 1em/1 '#{ $fa-style-family }';
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Font Awesome 6 Free';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
font-display: $fa-font-display;
|
||||||
|
src: url('#{$fa-font-path}/fa-regular-400.woff2') format('woff2'),
|
||||||
|
url('#{$fa-font-path}/fa-regular-400.ttf') format('truetype');
|
||||||
|
}
|
||||||
|
|
||||||
|
.far,
|
||||||
|
.#{$fa-css-prefix}-regular {
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
|
@ -0,0 +1,26 @@
|
||||||
|
/*!
|
||||||
|
* Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com
|
||||||
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||||
|
* Copyright 2023 Fonticons, Inc.
|
||||||
|
*/
|
||||||
|
@import 'functions';
|
||||||
|
@import 'variables';
|
||||||
|
|
||||||
|
:root, :host {
|
||||||
|
--#{$fa-css-prefix}-style-family-classic: '#{ $fa-style-family }';
|
||||||
|
--#{$fa-css-prefix}-font-solid: normal 900 1em/1 '#{ $fa-style-family }';
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Font Awesome 6 Free';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 900;
|
||||||
|
font-display: $fa-font-display;
|
||||||
|
src: url('#{$fa-font-path}/fa-solid-900.woff2') format('woff2'),
|
||||||
|
url('#{$fa-font-path}/fa-solid-900.ttf') format('truetype');
|
||||||
|
}
|
||||||
|
|
||||||
|
.fas,
|
||||||
|
.#{$fa-css-prefix}-solid {
|
||||||
|
font-weight: 900;
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
/*!
|
||||||
|
* Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com
|
||||||
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||||
|
* Copyright 2023 Fonticons, Inc.
|
||||||
|
*/
|
||||||
|
// V4 shims compile (Web Fonts-based)
|
||||||
|
// -------------------------
|
||||||
|
|
||||||
|
@import 'functions';
|
||||||
|
@import 'variables';
|
||||||
|
@import 'shims';
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
_vendor/github.com/FortAwesome/Font-Awesome/webfonts/fa-v4compatibility.ttf
generated
Normal file
BIN
_vendor/github.com/FortAwesome/Font-Awesome/webfonts/fa-v4compatibility.ttf
generated
Normal file
Binary file not shown.
BIN
_vendor/github.com/FortAwesome/Font-Awesome/webfonts/fa-v4compatibility.woff2
generated
Normal file
BIN
_vendor/github.com/FortAwesome/Font-Awesome/webfonts/fa-v4compatibility.woff2
generated
Normal file
Binary file not shown.
|
@ -0,0 +1,5 @@
|
||||||
|
This `_vendor` folder exists to work around a known bug in Go’s module
|
||||||
|
management. For details, see <https://github.com/golang/go/issues/37397>.
|
||||||
|
|
||||||
|
DO NOT EDIT or manually override the files in this folder. They are
|
||||||
|
automatically synchronized at installation time.
|
|
@ -0,0 +1,354 @@
|
||||||
|
// stylelint-disable property-blacklist, scss/dollar-variable-default
|
||||||
|
|
||||||
|
// SCSS RFS mixin
|
||||||
|
//
|
||||||
|
// Automated responsive values for font sizes, paddings, margins and much more
|
||||||
|
//
|
||||||
|
// Licensed under MIT (https://github.com/twbs/rfs/blob/main/LICENSE)
|
||||||
|
|
||||||
|
// Configuration
|
||||||
|
|
||||||
|
// Base value
|
||||||
|
$rfs-base-value: 1.25rem !default;
|
||||||
|
$rfs-unit: rem !default;
|
||||||
|
|
||||||
|
@if $rfs-unit != rem and $rfs-unit != px {
|
||||||
|
@error "`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`.";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Breakpoint at where values start decreasing if screen width is smaller
|
||||||
|
$rfs-breakpoint: 1200px !default;
|
||||||
|
$rfs-breakpoint-unit: px !default;
|
||||||
|
|
||||||
|
@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {
|
||||||
|
@error "`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Resize values based on screen height and width
|
||||||
|
$rfs-two-dimensional: false !default;
|
||||||
|
|
||||||
|
// Factor of decrease
|
||||||
|
$rfs-factor: 10 !default;
|
||||||
|
|
||||||
|
@if type-of($rfs-factor) != number or $rfs-factor <= 1 {
|
||||||
|
@error "`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Mode. Possibilities: "min-media-query", "max-media-query"
|
||||||
|
$rfs-mode: min-media-query !default;
|
||||||
|
|
||||||
|
// Generate enable or disable classes. Possibilities: false, "enable" or "disable"
|
||||||
|
$rfs-class: false !default;
|
||||||
|
|
||||||
|
// 1 rem = $rfs-rem-value px
|
||||||
|
$rfs-rem-value: 16 !default;
|
||||||
|
|
||||||
|
// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14
|
||||||
|
$rfs-safari-iframe-resize-bug-fix: false !default;
|
||||||
|
|
||||||
|
// Disable RFS by setting $enable-rfs to false
|
||||||
|
$enable-rfs: true !default;
|
||||||
|
|
||||||
|
// Cache $rfs-base-value unit
|
||||||
|
$rfs-base-value-unit: unit($rfs-base-value);
|
||||||
|
|
||||||
|
@function divide($dividend, $divisor, $precision: 10) {
|
||||||
|
$sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1);
|
||||||
|
$dividend: abs($dividend);
|
||||||
|
$divisor: abs($divisor);
|
||||||
|
@if $dividend == 0 {
|
||||||
|
@return 0;
|
||||||
|
}
|
||||||
|
@if $divisor == 0 {
|
||||||
|
@error "Cannot divide by 0";
|
||||||
|
}
|
||||||
|
$remainder: $dividend;
|
||||||
|
$result: 0;
|
||||||
|
$factor: 10;
|
||||||
|
@while ($remainder > 0 and $precision >= 0) {
|
||||||
|
$quotient: 0;
|
||||||
|
@while ($remainder >= $divisor) {
|
||||||
|
$remainder: $remainder - $divisor;
|
||||||
|
$quotient: $quotient + 1;
|
||||||
|
}
|
||||||
|
$result: $result * 10 + $quotient;
|
||||||
|
$factor: $factor * .1;
|
||||||
|
$remainder: $remainder * 10;
|
||||||
|
$precision: $precision - 1;
|
||||||
|
@if ($precision < 0 and $remainder >= $divisor * 5) {
|
||||||
|
$result: $result + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$result: $result * $factor * $sign;
|
||||||
|
$dividend-unit: unit($dividend);
|
||||||
|
$divisor-unit: unit($divisor);
|
||||||
|
$unit-map: (
|
||||||
|
"px": 1px,
|
||||||
|
"rem": 1rem,
|
||||||
|
"em": 1em,
|
||||||
|
"%": 1%
|
||||||
|
);
|
||||||
|
@if ($dividend-unit != $divisor-unit and map-has-key($unit-map, $dividend-unit)) {
|
||||||
|
$result: $result * map-get($unit-map, $dividend-unit);
|
||||||
|
}
|
||||||
|
@return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Remove px-unit from $rfs-base-value for calculations
|
||||||
|
@if $rfs-base-value-unit == px {
|
||||||
|
$rfs-base-value: divide($rfs-base-value, $rfs-base-value * 0 + 1);
|
||||||
|
}
|
||||||
|
@else if $rfs-base-value-unit == rem {
|
||||||
|
$rfs-base-value: divide($rfs-base-value, divide($rfs-base-value * 0 + 1, $rfs-rem-value));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Cache $rfs-breakpoint unit to prevent multiple calls
|
||||||
|
$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);
|
||||||
|
|
||||||
|
// Remove unit from $rfs-breakpoint for calculations
|
||||||
|
@if $rfs-breakpoint-unit-cache == px {
|
||||||
|
$rfs-breakpoint: divide($rfs-breakpoint, $rfs-breakpoint * 0 + 1);
|
||||||
|
}
|
||||||
|
@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == "em" {
|
||||||
|
$rfs-breakpoint: divide($rfs-breakpoint, divide($rfs-breakpoint * 0 + 1, $rfs-rem-value));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Calculate the media query value
|
||||||
|
$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{divide($rfs-breakpoint, $rfs-rem-value)}#{$rfs-breakpoint-unit});
|
||||||
|
$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);
|
||||||
|
$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);
|
||||||
|
|
||||||
|
// Internal mixin used to determine which media query needs to be used
|
||||||
|
@mixin _rfs-media-query {
|
||||||
|
@if $rfs-two-dimensional {
|
||||||
|
@if $rfs-mode == max-media-query {
|
||||||
|
@media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {
|
||||||
|
@content;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@else {
|
||||||
|
@media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) and (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {
|
||||||
|
@content;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@else {
|
||||||
|
@media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {
|
||||||
|
@content;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Internal mixin that adds disable classes to the selector if needed.
|
||||||
|
@mixin _rfs-rule {
|
||||||
|
@if $rfs-class == disable and $rfs-mode == max-media-query {
|
||||||
|
// Adding an extra class increases specificity, which prevents the media query to override the property
|
||||||
|
&,
|
||||||
|
.disable-rfs &,
|
||||||
|
&.disable-rfs {
|
||||||
|
@content;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@else if $rfs-class == enable and $rfs-mode == min-media-query {
|
||||||
|
.enable-rfs &,
|
||||||
|
&.enable-rfs {
|
||||||
|
@content;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@else {
|
||||||
|
@content;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Internal mixin that adds enable classes to the selector if needed.
|
||||||
|
@mixin _rfs-media-query-rule {
|
||||||
|
|
||||||
|
@if $rfs-class == enable {
|
||||||
|
@if $rfs-mode == min-media-query {
|
||||||
|
@content;
|
||||||
|
}
|
||||||
|
|
||||||
|
@include _rfs-media-query {
|
||||||
|
.enable-rfs &,
|
||||||
|
&.enable-rfs {
|
||||||
|
@content;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@else {
|
||||||
|
@if $rfs-class == disable and $rfs-mode == min-media-query {
|
||||||
|
.disable-rfs &,
|
||||||
|
&.disable-rfs {
|
||||||
|
@content;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@include _rfs-media-query {
|
||||||
|
@content;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Helper function to get the formatted non-responsive value
|
||||||
|
@function rfs-value($values) {
|
||||||
|
// Convert to list
|
||||||
|
$values: if(type-of($values) != list, ($values,), $values);
|
||||||
|
|
||||||
|
$val: '';
|
||||||
|
|
||||||
|
// Loop over each value and calculate value
|
||||||
|
@each $value in $values {
|
||||||
|
@if $value == 0 {
|
||||||
|
$val: $val + ' 0';
|
||||||
|
}
|
||||||
|
@else {
|
||||||
|
// Cache $value unit
|
||||||
|
$unit: if(type-of($value) == "number", unit($value), false);
|
||||||
|
|
||||||
|
@if $unit == px {
|
||||||
|
// Convert to rem if needed
|
||||||
|
$val: $val + ' ' + if($rfs-unit == rem, #{divide($value, $value * 0 + $rfs-rem-value)}rem, $value);
|
||||||
|
}
|
||||||
|
@else if $unit == rem {
|
||||||
|
// Convert to px if needed
|
||||||
|
$val: $val + ' ' + if($rfs-unit == px, #{divide($value, $value * 0 + 1) * $rfs-rem-value}px, $value);
|
||||||
|
}
|
||||||
|
@else {
|
||||||
|
// If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value
|
||||||
|
$val: $val + ' ' + $value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Remove first space
|
||||||
|
@return unquote(str-slice($val, 2));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Helper function to get the responsive value calculated by RFS
|
||||||
|
@function rfs-fluid-value($values) {
|
||||||
|
// Convert to list
|
||||||
|
$values: if(type-of($values) != list, ($values,), $values);
|
||||||
|
|
||||||
|
$val: '';
|
||||||
|
|
||||||
|
// Loop over each value and calculate value
|
||||||
|
@each $value in $values {
|
||||||
|
@if $value == 0 {
|
||||||
|
$val: $val + ' 0';
|
||||||
|
}
|
||||||
|
|
||||||
|
@else {
|
||||||
|
// Cache $value unit
|
||||||
|
$unit: if(type-of($value) == "number", unit($value), false);
|
||||||
|
|
||||||
|
// If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value
|
||||||
|
@if not $unit or $unit != px and $unit != rem {
|
||||||
|
$val: $val + ' ' + $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
@else {
|
||||||
|
// Remove unit from $value for calculations
|
||||||
|
$value: divide($value, $value * 0 + if($unit == px, 1, divide(1, $rfs-rem-value)));
|
||||||
|
|
||||||
|
// Only add the media query if the value is greater than the minimum value
|
||||||
|
@if abs($value) <= $rfs-base-value or not $enable-rfs {
|
||||||
|
$val: $val + ' ' + if($rfs-unit == rem, #{divide($value, $rfs-rem-value)}rem, #{$value}px);
|
||||||
|
}
|
||||||
|
@else {
|
||||||
|
// Calculate the minimum value
|
||||||
|
$value-min: $rfs-base-value + divide(abs($value) - $rfs-base-value, $rfs-factor);
|
||||||
|
|
||||||
|
// Calculate difference between $value and the minimum value
|
||||||
|
$value-diff: abs($value) - $value-min;
|
||||||
|
|
||||||
|
// Base value formatting
|
||||||
|
$min-width: if($rfs-unit == rem, #{divide($value-min, $rfs-rem-value)}rem, #{$value-min}px);
|
||||||
|
|
||||||
|
// Use negative value if needed
|
||||||
|
$min-width: if($value < 0, -$min-width, $min-width);
|
||||||
|
|
||||||
|
// Use `vmin` if two-dimensional is enabled
|
||||||
|
$variable-unit: if($rfs-two-dimensional, vmin, vw);
|
||||||
|
|
||||||
|
// Calculate the variable width between 0 and $rfs-breakpoint
|
||||||
|
$variable-width: #{divide($value-diff * 100, $rfs-breakpoint)}#{$variable-unit};
|
||||||
|
|
||||||
|
// Return the calculated value
|
||||||
|
$val: $val + ' calc(' + $min-width + if($value < 0, ' - ', ' + ') + $variable-width + ')';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Remove first space
|
||||||
|
@return unquote(str-slice($val, 2));
|
||||||
|
}
|
||||||
|
|
||||||
|
// RFS mixin
|
||||||
|
@mixin rfs($values, $property: font-size) {
|
||||||
|
@if $values != null {
|
||||||
|
$val: rfs-value($values);
|
||||||
|
$fluidVal: rfs-fluid-value($values);
|
||||||
|
|
||||||
|
// Do not print the media query if responsive & non-responsive values are the same
|
||||||
|
@if $val == $fluidVal {
|
||||||
|
#{$property}: $val;
|
||||||
|
}
|
||||||
|
@else {
|
||||||
|
@include _rfs-rule {
|
||||||
|
#{$property}: if($rfs-mode == max-media-query, $val, $fluidVal);
|
||||||
|
|
||||||
|
// Include safari iframe resize fix if needed
|
||||||
|
min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);
|
||||||
|
}
|
||||||
|
|
||||||
|
@include _rfs-media-query-rule {
|
||||||
|
#{$property}: if($rfs-mode == max-media-query, $fluidVal, $val);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Shorthand helper mixins
|
||||||
|
@mixin font-size($value) {
|
||||||
|
@include rfs($value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin padding($value) {
|
||||||
|
@include rfs($value, padding);
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin padding-top($value) {
|
||||||
|
@include rfs($value, padding-top);
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin padding-right($value) {
|
||||||
|
@include rfs($value, padding-right);
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin padding-bottom($value) {
|
||||||
|
@include rfs($value, padding-bottom);
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin padding-left($value) {
|
||||||
|
@include rfs($value, padding-left);
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin margin($value) {
|
||||||
|
@include rfs($value, margin);
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin margin-top($value) {
|
||||||
|
@include rfs($value, margin-top);
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin margin-right($value) {
|
||||||
|
@include rfs($value, margin-right);
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin margin-bottom($value) {
|
||||||
|
@include rfs($value, margin-bottom);
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin margin-left($value) {
|
||||||
|
@include rfs($value, margin-left);
|
||||||
|
}
|
Binary file not shown.
After Width: | Height: | Size: 52 KiB |
|
@ -0,0 +1,237 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
viewBox="0 0 500 500" style="enable-background:new 0 0 500 500;" xml:space="preserve">
|
||||||
|
<g>
|
||||||
|
<path style="fill:#FFFFFF;" d="M116.8525,421.9722c-5.7041,0-10.3442-4.3127-10.3442-9.6129V88.183
|
||||||
|
c0-5.3002,4.6401-9.6117,10.3442-9.6117H320.858c3.0347,0,9.3959,0.5498,11.7506,2.6302l0.3545,0.3442l58.905,63.2912
|
||||||
|
c2.3101,2.491,2.9202,8.4928,2.9202,11.3184v256.2039c0,5.3002-4.6407,9.6129-10.3436,9.6129H116.8525z"/>
|
||||||
|
<g>
|
||||||
|
<g>
|
||||||
|
<g>
|
||||||
|
<path style="fill:#767676;" d="M384.4445,423.2066H116.852c-6.3839,0-11.5786-4.8658-11.5786-10.8474V88.1831
|
||||||
|
c0-5.9804,5.1947-10.8461,11.5786-10.8461h204.0062c0.377,0,9.2786,0.0329,12.568,2.9389l0.3947,0.3833l58.9508,63.337
|
||||||
|
c3.2135,3.4652,3.2514,11.7924,3.2514,12.1593v256.2036C396.0231,418.3408,390.8284,423.2066,384.4445,423.2066z
|
||||||
|
M116.5079,411.9189c0.0848,0.0278,0.1999,0.0531,0.3441,0.0531h267.5925c0.1442,0,0.2581-0.0253,0.3441-0.0531V156.1556
|
||||||
|
c-0.0076-0.9033-0.3593-3.7347-0.7034-5.0037l-57.6527-61.9416c-1.4651-0.3176-4.4533-0.6389-5.5742-0.6389H116.852
|
||||||
|
c-0.143,0-0.2594,0.024-0.3441,0.0531V411.9189z M383.9612,150.7699L383.9612,150.7699L383.9612,150.7699z M327.0321,89.371
|
||||||
|
v0.0013V89.371z"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<g>
|
||||||
|
<path style="fill:#5B7FC0;" d="M189.0874,210.1754l0.0012-0.0012c7.7751,0.0012,15.0295,4.1862,18.932,10.9234
|
||||||
|
c1.9177,3.3159,2.9305,7.1011,2.9293,10.9378c0,5.8394-2.2733,11.3304-6.4032,15.4604
|
||||||
|
c-4.1288,4.1288-9.6186,6.4032-15.458,6.4032c-5.8394,0-11.328-2.2733-15.458-6.4032s-6.4032-9.6186-6.4056-15.4628
|
||||||
|
c0.0012-6.025,2.454-11.4897,6.4116-15.4473C177.5953,212.627,183.0601,210.1742,189.0874,210.1754z M197.0804,232.033
|
||||||
|
c0.0012-1.4042-0.3687-2.7868-1.063-3.9887c-1.4293-2.4684-4.0833-3.9995-6.9299-4.0019c-4.4077,0.0024-7.993,3.5877-7.993,7.993
|
||||||
|
c0,2.1356,0.832,4.1431,2.3427,5.6539c1.5083,1.5083,3.5159,2.3403,5.6503,2.3415c2.1356,0,4.1443-0.8308,5.6539-2.3403
|
||||||
|
S197.0816,234.1722,197.0804,232.033z"/>
|
||||||
|
<path style="opacity:0.3;fill:#FFFFFF;" d="M189.0898,210.176c7.7763,0,15.0283,4.1826,18.926,10.9151
|
||||||
|
c1.9201,3.3136,2.9377,7.0988,2.9353,10.9462c0.0024,12.0643-9.8065,21.8636-21.8613,21.8613
|
||||||
|
c-12.0547,0.0024-21.8636-9.8066-21.8612-21.8613c0-6.0285,2.4516-11.4921,6.4116-15.452
|
||||||
|
C177.5977,212.6276,183.0612,210.176,189.0898,210.176z M197.0839,232.0372c0-1.4078-0.3711-2.7892-1.0702-3.9959
|
||||||
|
c-1.4269-2.466-4.0797-3.9983-6.924-3.9983c-4.4005-0.0048-7.9918,3.5817-7.9942,7.9942
|
||||||
|
c0.0024,4.4077,3.5865,7.9918,7.9942,7.9942c2.2027,0,4.2018-0.8978,5.6479-2.3439
|
||||||
|
C196.1861,236.239,197.0839,234.2399,197.0839,232.0372z"/>
|
||||||
|
<g>
|
||||||
|
<defs>
|
||||||
|
<path id="SVGID_1_" d="M194.7376,237.6875c-1.4461,1.4461-3.4452,2.3439-5.6479,2.3439
|
||||||
|
c-4.4077-0.0024-7.9918-3.5865-7.9942-7.9942c0.0024-4.4125,3.5937-7.999,7.9942-7.9942c2.8443,0,5.497,1.5323,6.924,3.9983
|
||||||
|
c0.6991,1.2067,1.0702,2.5881,1.0702,3.9959C197.0839,234.2399,196.1861,236.239,194.7376,237.6875z"/>
|
||||||
|
</defs>
|
||||||
|
<clipPath id="SVGID_2_">
|
||||||
|
<use xlink:href="#SVGID_1_" style="overflow:visible;"/>
|
||||||
|
</clipPath>
|
||||||
|
<path style="clip-path:url(#SVGID_2_);fill:#FFFFFF;" d="M190.0704,225.0237c-4.4005-0.0048-7.9918,3.5817-7.9942,7.9942
|
||||||
|
c0.0011,1.9546,0.7088,3.7452,1.8782,5.1354c-1.7447-1.4674-2.8575-3.663-2.8588-6.116
|
||||||
|
c0.0024-4.4125,3.5936-7.999,7.9942-7.9942c2.3802-0.0001,4.616,1.0833,6.1218,2.8788
|
||||||
|
C193.7885,225.7247,191.9774,225.0237,190.0704,225.0237z"/>
|
||||||
|
<path style="opacity:0.13;clip-path:url(#SVGID_2_);fill:#020202;" d="M190.0704,225.0237
|
||||||
|
c-4.4005-0.0048-7.9918,3.5817-7.9942,7.9942c0.0011,1.9546,0.7088,3.7452,1.8782,5.1354
|
||||||
|
c-1.7447-1.4674-2.8575-3.663-2.8588-6.116c0.0024-4.4125,3.5936-7.999,7.9942-7.9942c2.3802-0.0001,4.616,1.0833,6.1218,2.8788
|
||||||
|
C193.7885,225.7247,191.9774,225.0237,190.0704,225.0237z"/>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<defs>
|
||||||
|
<path id="SVGID_3_" d="M189.0898,210.176c7.7763,0,15.0283,4.1826,18.926,10.9151c1.9201,3.3136,2.9377,7.0988,2.9353,10.9462
|
||||||
|
c0.0024,12.0643-9.8065,21.8636-21.8613,21.8613c-12.0547,0.0024-21.8636-9.8066-21.8612-21.8613
|
||||||
|
c0-6.0285,2.4516-11.4921,6.4116-15.452C177.5977,212.6276,183.0612,210.176,189.0898,210.176z M197.0839,232.0372
|
||||||
|
c0-1.4078-0.3711-2.7892-1.0702-3.9959c-1.4269-2.466-4.0797-3.9983-6.924-3.9983c-4.4005-0.0048-7.9918,3.5817-7.9942,7.9942
|
||||||
|
c0.0024,4.4077,3.5865,7.9918,7.9942,7.9942c2.2027,0,4.2018-0.8978,5.6479-2.3439
|
||||||
|
C196.1861,236.239,197.0839,234.2399,197.0839,232.0372z"/>
|
||||||
|
</defs>
|
||||||
|
<clipPath id="SVGID_4_">
|
||||||
|
<use xlink:href="#SVGID_3_" style="overflow:visible;"/>
|
||||||
|
</clipPath>
|
||||||
|
<path style="clip-path:url(#SVGID_4_);fill:#5B7FC0;" d="M172.6595,215.6045c-3.96,3.96-6.4116,9.4235-6.4116,15.452
|
||||||
|
c-0.0024,12.0547,9.8066,21.8636,21.8613,21.8612c12.0547,0.0024,21.8636-9.797,21.8613-21.8612
|
||||||
|
c0.0024-3.8475-1.0151-7.6326-2.9353-10.9462c-3.8977-6.7324-11.1497-10.9151-18.926-10.9151
|
||||||
|
C182.0806,209.1953,176.6171,211.647,172.6595,215.6045z"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<rect x="198.8952" y="225.1043" style="fill:#5B7FC0;" width="122.6266" height="13.8671"/>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<path style="fill:#D95140;" d="M189.0874,155.7611l0.0012-0.0012c7.7751,0.0012,15.0295,4.1862,18.932,10.9234
|
||||||
|
c1.9177,3.3159,2.9305,7.1011,2.9293,10.9378c0,5.8394-2.2733,11.3304-6.4032,15.4604c-4.1288,4.1288-9.6186,6.4032-15.458,6.4032
|
||||||
|
c-5.8394,0-11.328-2.2733-15.458-6.4032s-6.4032-9.6186-6.4056-15.4628c0.0012-6.0249,2.454-11.4897,6.4116-15.4473
|
||||||
|
C177.5953,158.2128,183.0601,155.7599,189.0874,155.7611z M197.0804,177.6188c0.0012-1.4042-0.3687-2.7868-1.063-3.9887
|
||||||
|
c-1.4293-2.4684-4.0833-3.9995-6.9299-4.0019c-4.4077,0.0024-7.993,3.5877-7.993,7.993c0,2.1356,0.832,4.1431,2.3427,5.6539
|
||||||
|
c1.5083,1.5083,3.5159,2.3403,5.6503,2.3415c2.1356,0,4.1443-0.8308,5.6539-2.3403
|
||||||
|
C196.2508,181.7667,197.0816,179.758,197.0804,177.6188z"/>
|
||||||
|
<path style="opacity:0.3;fill:#FFFFFF;" d="M189.0898,155.7617c7.7763,0,15.0283,4.1826,18.926,10.9151
|
||||||
|
c1.9201,3.3135,2.9377,7.0987,2.9353,10.9462c0.0024,12.0643-9.8065,21.8636-21.8613,21.8613
|
||||||
|
c-12.0547,0.0024-21.8636-9.8066-21.8612-21.8613c0-6.0285,2.4516-11.4921,6.4116-15.452
|
||||||
|
C177.5977,158.2134,183.0612,155.7617,189.0898,155.7617z M197.0839,177.623c0-1.4078-0.3711-2.7892-1.0702-3.9959
|
||||||
|
c-1.4269-2.466-4.0797-3.9983-6.924-3.9983c-4.4005-0.0048-7.9918,3.5817-7.9942,7.9942
|
||||||
|
c0.0024,4.4077,3.5865,7.9918,7.9942,7.9942c2.2027,0,4.2018-0.8978,5.6479-2.3439
|
||||||
|
C196.1861,181.8248,197.0839,179.8256,197.0839,177.623z"/>
|
||||||
|
<g>
|
||||||
|
<defs>
|
||||||
|
<path id="SVGID_5_" d="M194.7376,183.2733c-1.4461,1.4461-3.4452,2.3439-5.6479,2.3439
|
||||||
|
c-4.4077-0.0024-7.9918-3.5865-7.9942-7.9942c0.0024-4.4125,3.5937-7.9989,7.9942-7.9942c2.8443,0,5.497,1.5323,6.924,3.9983
|
||||||
|
c0.6991,1.2067,1.0702,2.5881,1.0702,3.9959C197.0839,179.8256,196.1861,181.8248,194.7376,183.2733z"/>
|
||||||
|
</defs>
|
||||||
|
<clipPath id="SVGID_6_">
|
||||||
|
<use xlink:href="#SVGID_5_" style="overflow:visible;"/>
|
||||||
|
</clipPath>
|
||||||
|
<path style="clip-path:url(#SVGID_6_);fill:#FFFFFF;" d="M190.0704,170.6095c-4.4005-0.0048-7.9918,3.5817-7.9942,7.9942
|
||||||
|
c0.0011,1.9546,0.7088,3.7452,1.8782,5.1354c-1.7447-1.4674-2.8575-3.663-2.8588-6.116c0.0024-4.4125,3.5936-7.999,7.9942-7.9942
|
||||||
|
c2.3802-0.0001,4.616,1.0833,6.1218,2.8788C193.7885,171.3104,191.9774,170.6095,190.0704,170.6095z"/>
|
||||||
|
<path style="opacity:0.13;clip-path:url(#SVGID_6_);fill:#020202;" d="M190.0704,170.6095
|
||||||
|
c-4.4005-0.0048-7.9918,3.5817-7.9942,7.9942c0.0011,1.9546,0.7088,3.7452,1.8782,5.1354
|
||||||
|
c-1.7447-1.4674-2.8575-3.663-2.8588-6.116c0.0024-4.4125,3.5936-7.999,7.9942-7.9942c2.3802-0.0001,4.616,1.0833,6.1218,2.8788
|
||||||
|
C193.7885,171.3104,191.9774,170.6095,190.0704,170.6095z"/>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<defs>
|
||||||
|
<path id="SVGID_7_" d="M189.0898,155.7617c7.7763,0,15.0283,4.1826,18.926,10.9151c1.9201,3.3135,2.9377,7.0987,2.9353,10.9462
|
||||||
|
c0.0024,12.0643-9.8065,21.8636-21.8613,21.8613c-12.0547,0.0024-21.8636-9.8066-21.8612-21.8613
|
||||||
|
c0-6.0285,2.4516-11.4921,6.4116-15.452C177.5977,158.2134,183.0612,155.7617,189.0898,155.7617z M197.0839,177.623
|
||||||
|
c0-1.4078-0.3711-2.7892-1.0702-3.9959c-1.4269-2.466-4.0797-3.9983-6.924-3.9983c-4.4005-0.0048-7.9918,3.5817-7.9942,7.9942
|
||||||
|
c0.0024,4.4077,3.5865,7.9918,7.9942,7.9942c2.2027,0,4.2018-0.8978,5.6479-2.3439
|
||||||
|
C196.1861,181.8248,197.0839,179.8256,197.0839,177.623z"/>
|
||||||
|
</defs>
|
||||||
|
<clipPath id="SVGID_8_">
|
||||||
|
<use xlink:href="#SVGID_7_" style="overflow:visible;"/>
|
||||||
|
</clipPath>
|
||||||
|
<path style="clip-path:url(#SVGID_8_);fill:#D95140;" d="M172.6595,161.1903c-3.96,3.96-6.4116,9.4235-6.4116,15.452
|
||||||
|
c-0.0024,12.0547,9.8066,21.8636,21.8613,21.8613c12.0547,0.0024,21.8636-9.797,21.8613-21.8613
|
||||||
|
c0.0024-3.8474-1.0151-7.6326-2.9353-10.9462c-3.8977-6.7324-11.1497-10.9151-18.926-10.9151
|
||||||
|
C182.0806,154.7811,176.6171,157.2327,172.6595,161.1903z"/>
|
||||||
|
</g>
|
||||||
|
<rect x="198.8952" y="170.69" style="fill:#D95140;" width="122.6266" height="13.8671"/>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<g>
|
||||||
|
<path style="fill:#56A55C;" d="M189.5379,264.6147l0.0012-0.0012c7.7751,0.0012,15.0294,4.1862,18.932,10.9235
|
||||||
|
c1.9177,3.3159,2.9305,7.1011,2.9293,10.9378c0,5.8394-2.2733,11.3304-6.4032,15.4604
|
||||||
|
c-4.1288,4.1288-9.6186,6.4032-15.458,6.4032c-5.8394,0-11.3281-2.2733-15.458-6.4032c-4.13-4.13-6.4032-9.6186-6.4056-15.4628
|
||||||
|
c0.0012-6.0249,2.454-11.4897,6.4116-15.4472C178.0458,267.0663,183.5105,264.6135,189.5379,264.6147z M197.5309,286.4723
|
||||||
|
c0.0012-1.4042-0.3687-2.7868-1.063-3.9887c-1.4293-2.4684-4.0833-3.9995-6.9299-4.0019c-4.4077,0.0024-7.993,3.5877-7.993,7.993
|
||||||
|
c0,2.1356,0.832,4.1431,2.3427,5.6538c1.5083,1.5083,3.5159,2.3403,5.6503,2.3415c2.1356,0,4.1443-0.8308,5.6539-2.3403
|
||||||
|
C196.7013,290.6202,197.5321,288.6115,197.5309,286.4723z"/>
|
||||||
|
<path style="opacity:0.3;fill:#FFFFFF;" d="M189.5403,264.6153c7.7763,0,15.0283,4.1826,18.926,10.9151
|
||||||
|
c1.9201,3.3135,2.9377,7.0987,2.9353,10.9462c0.0024,12.0643-9.8065,21.8636-21.8613,21.8613
|
||||||
|
c-12.0547,0.0024-21.8636-9.8065-21.8612-21.8613c0-6.0285,2.4516-11.492,6.4116-15.452
|
||||||
|
C178.0482,267.0669,183.5117,264.6153,189.5403,264.6153z M197.5344,286.4765c0-1.4078-0.3711-2.7892-1.0702-3.9959
|
||||||
|
c-1.4269-2.466-4.0797-3.9983-6.924-3.9983c-4.4005-0.0048-7.9918,3.5817-7.9942,7.9941
|
||||||
|
c0.0024,4.4077,3.5865,7.9918,7.9942,7.9942c2.2027,0,4.2018-0.8978,5.6479-2.3439
|
||||||
|
C196.6366,290.6783,197.5344,288.6792,197.5344,286.4765z"/>
|
||||||
|
<g>
|
||||||
|
<defs>
|
||||||
|
<path id="SVGID_9_" d="M195.1881,292.1268c-1.4461,1.4461-3.4452,2.3439-5.6479,2.3439
|
||||||
|
c-4.4077-0.0024-7.9918-3.5865-7.9942-7.9942c0.0024-4.4125,3.5937-7.9989,7.9942-7.9941c2.8443,0,5.497,1.5323,6.924,3.9983
|
||||||
|
c0.6991,1.2067,1.0702,2.5881,1.0702,3.9959C197.5344,288.6792,196.6366,290.6783,195.1881,292.1268z"/>
|
||||||
|
</defs>
|
||||||
|
<clipPath id="SVGID_10_">
|
||||||
|
<use xlink:href="#SVGID_9_" style="overflow:visible;"/>
|
||||||
|
</clipPath>
|
||||||
|
<path style="clip-path:url(#SVGID_10_);fill:#FFFFFF;" d="M190.5209,279.463c-4.4005-0.0048-7.9918,3.5817-7.9942,7.9941
|
||||||
|
c0.0011,1.9547,0.7088,3.7452,1.8782,5.1354c-1.7446-1.4674-2.8575-3.6631-2.8588-6.1161
|
||||||
|
c0.0024-4.4125,3.5936-7.999,7.9942-7.9941c2.3802-0.0001,4.616,1.0833,6.1218,2.8788
|
||||||
|
C194.239,280.164,192.4279,279.463,190.5209,279.463z"/>
|
||||||
|
<path style="opacity:0.13;clip-path:url(#SVGID_10_);fill:#020202;" d="M190.5209,279.463
|
||||||
|
c-4.4005-0.0048-7.9918,3.5817-7.9942,7.9941c0.0011,1.9547,0.7088,3.7452,1.8782,5.1354
|
||||||
|
c-1.7446-1.4674-2.8575-3.6631-2.8588-6.1161c0.0024-4.4125,3.5936-7.999,7.9942-7.9941
|
||||||
|
c2.3802-0.0001,4.616,1.0833,6.1218,2.8788C194.239,280.164,192.4279,279.463,190.5209,279.463z"/>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<defs>
|
||||||
|
<path id="SVGID_11_" d="M189.5403,264.6153c7.7763,0,15.0283,4.1826,18.926,10.9151
|
||||||
|
c1.9201,3.3135,2.9377,7.0987,2.9353,10.9462c0.0024,12.0643-9.8065,21.8636-21.8613,21.8613
|
||||||
|
c-12.0547,0.0024-21.8636-9.8065-21.8612-21.8613c0-6.0285,2.4516-11.492,6.4116-15.452
|
||||||
|
C178.0482,267.0669,183.5117,264.6153,189.5403,264.6153z M197.5344,286.4765c0-1.4078-0.3711-2.7892-1.0702-3.9959
|
||||||
|
c-1.4269-2.466-4.0797-3.9983-6.924-3.9983c-4.4005-0.0048-7.9918,3.5817-7.9942,7.9941
|
||||||
|
c0.0024,4.4077,3.5865,7.9918,7.9942,7.9942c2.2027,0,4.2018-0.8978,5.6479-2.3439
|
||||||
|
C196.6366,290.6783,197.5344,288.6792,197.5344,286.4765z"/>
|
||||||
|
</defs>
|
||||||
|
<clipPath id="SVGID_12_">
|
||||||
|
<use xlink:href="#SVGID_11_" style="overflow:visible;"/>
|
||||||
|
</clipPath>
|
||||||
|
<path style="clip-path:url(#SVGID_12_);fill:#56A55C;" d="M173.11,270.0439c-3.96,3.96-6.4116,9.4235-6.4116,15.452
|
||||||
|
c-0.0024,12.0547,9.8066,21.8636,21.8613,21.8613c12.0547,0.0024,21.8636-9.797,21.8613-21.8613
|
||||||
|
c0.0024-3.8474-1.0151-7.6326-2.9353-10.9462c-3.8977-6.7325-11.1497-10.9151-18.926-10.9151
|
||||||
|
C182.5311,263.6346,177.0676,266.0863,173.11,270.0439z"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<rect x="199.3456" y="279.5436" style="fill:#56A55C;" width="122.6266" height="13.8671"/>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<g>
|
||||||
|
<path style="fill:#F1BC42;" d="M189.0874,318.7208l0.0012-0.0012c7.7751,0.0012,15.0295,4.1862,18.932,10.9234
|
||||||
|
c1.9177,3.3159,2.9305,7.1011,2.9293,10.9378c0,5.8394-2.2733,11.3305-6.4032,15.4604
|
||||||
|
c-4.1288,4.1288-9.6186,6.4032-15.458,6.4032c-5.8394,0-11.328-2.2733-15.458-6.4032c-4.13-4.1299-6.4032-9.6186-6.4056-15.4628
|
||||||
|
c0.0012-6.025,2.454-11.4897,6.4116-15.4472C177.5953,321.1724,183.0601,318.7196,189.0874,318.7208z M197.0804,340.5784
|
||||||
|
c0.0012-1.4042-0.3687-2.7868-1.063-3.9887c-1.4293-2.4684-4.0833-3.9995-6.9299-4.0019c-4.4077,0.0024-7.993,3.5877-7.993,7.993
|
||||||
|
c0,2.1356,0.832,4.1431,2.3427,5.6539c1.5083,1.5083,3.5159,2.3403,5.6503,2.3415c2.1356,0,4.1443-0.8308,5.6539-2.3403
|
||||||
|
S197.0816,342.7176,197.0804,340.5784z"/>
|
||||||
|
<path style="opacity:0.3;fill:#FFFFFF;" d="M189.0898,318.7214c7.7763,0,15.0283,4.1826,18.926,10.915
|
||||||
|
c1.9201,3.3136,2.9377,7.0988,2.9353,10.9462c0.0024,12.0643-9.8065,21.8636-21.8613,21.8612
|
||||||
|
c-12.0547,0.0024-21.8636-9.8065-21.8612-21.8612c0-6.0285,2.4516-11.4921,6.4116-15.452
|
||||||
|
C177.5977,321.173,183.0612,318.7214,189.0898,318.7214z M197.0839,340.5826c0-1.4078-0.3711-2.7892-1.0702-3.9959
|
||||||
|
c-1.4269-2.466-4.0797-3.9983-6.924-3.9983c-4.4005-0.0048-7.9918,3.5817-7.9942,7.9942
|
||||||
|
c0.0024,4.4077,3.5865,7.9918,7.9942,7.9942c2.2027,0,4.2018-0.8978,5.6479-2.3439
|
||||||
|
C196.1861,344.7844,197.0839,342.7853,197.0839,340.5826z"/>
|
||||||
|
<g>
|
||||||
|
<defs>
|
||||||
|
<path id="SVGID_13_" d="M194.7376,346.2329c-1.4461,1.4461-3.4452,2.3439-5.6479,2.3439
|
||||||
|
c-4.4077-0.0024-7.9918-3.5865-7.9942-7.9942c0.0024-4.4125,3.5937-7.999,7.9942-7.9942c2.8443,0,5.497,1.5323,6.924,3.9983
|
||||||
|
c0.6991,1.2067,1.0702,2.5881,1.0702,3.9959C197.0839,342.7853,196.1861,344.7844,194.7376,346.2329z"/>
|
||||||
|
</defs>
|
||||||
|
<clipPath id="SVGID_14_">
|
||||||
|
<use xlink:href="#SVGID_13_" style="overflow:visible;"/>
|
||||||
|
</clipPath>
|
||||||
|
<path style="clip-path:url(#SVGID_14_);fill:#FFFFFF;" d="M190.0704,333.5691c-4.4005-0.0048-7.9918,3.5817-7.9942,7.9942
|
||||||
|
c0.0011,1.9547,0.7088,3.7452,1.8782,5.1354c-1.7447-1.4674-2.8575-3.6631-2.8588-6.1161
|
||||||
|
c0.0024-4.4125,3.5936-7.999,7.9942-7.9942c2.3802-0.0001,4.616,1.0834,6.1218,2.8788
|
||||||
|
C193.7885,334.2701,191.9774,333.5691,190.0704,333.5691z"/>
|
||||||
|
<path style="opacity:0.13;clip-path:url(#SVGID_14_);fill:#020202;" d="M190.0704,333.5691
|
||||||
|
c-4.4005-0.0048-7.9918,3.5817-7.9942,7.9942c0.0011,1.9547,0.7088,3.7452,1.8782,5.1354
|
||||||
|
c-1.7447-1.4674-2.8575-3.6631-2.8588-6.1161c0.0024-4.4125,3.5936-7.999,7.9942-7.9942
|
||||||
|
c2.3802-0.0001,4.616,1.0834,6.1218,2.8788C193.7885,334.2701,191.9774,333.5691,190.0704,333.5691z"/>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<defs>
|
||||||
|
<path id="SVGID_15_" d="M189.0898,318.7214c7.7763,0,15.0283,4.1826,18.926,10.915c1.9201,3.3136,2.9377,7.0988,2.9353,10.9462
|
||||||
|
c0.0024,12.0643-9.8065,21.8636-21.8613,21.8612c-12.0547,0.0024-21.8636-9.8065-21.8612-21.8612
|
||||||
|
c0-6.0285,2.4516-11.4921,6.4116-15.452C177.5977,321.173,183.0612,318.7214,189.0898,318.7214z M197.0839,340.5826
|
||||||
|
c0-1.4078-0.3711-2.7892-1.0702-3.9959c-1.4269-2.466-4.0797-3.9983-6.924-3.9983c-4.4005-0.0048-7.9918,3.5817-7.9942,7.9942
|
||||||
|
c0.0024,4.4077,3.5865,7.9918,7.9942,7.9942c2.2027,0,4.2018-0.8978,5.6479-2.3439
|
||||||
|
C196.1861,344.7844,197.0839,342.7853,197.0839,340.5826z"/>
|
||||||
|
</defs>
|
||||||
|
<clipPath id="SVGID_16_">
|
||||||
|
<use xlink:href="#SVGID_15_" style="overflow:visible;"/>
|
||||||
|
</clipPath>
|
||||||
|
<path style="clip-path:url(#SVGID_16_);fill:#F1BC42;" d="M172.6595,324.15c-3.96,3.96-6.4116,9.4235-6.4116,15.452
|
||||||
|
c-0.0024,12.0547,9.8066,21.8636,21.8613,21.8612c12.0547,0.0024,21.8636-9.797,21.8613-21.8612
|
||||||
|
c0.0024-3.8474-1.0151-7.6327-2.9353-10.9462c-3.8977-6.7324-11.1497-10.9151-18.926-10.9151
|
||||||
|
C182.0806,317.7407,176.6171,320.1924,172.6595,324.15z"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<rect x="198.8952" y="333.6497" style="fill:#F1BC42;" width="122.6266" height="13.8671"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 16 KiB |
|
@ -0,0 +1,65 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2018 Google LLC
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
(function($) {
|
||||||
|
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
$(function() {
|
||||||
|
$('[data-bs-toggle="tooltip"]').tooltip();
|
||||||
|
$('[data-bs-toggle="popover"]').popover();
|
||||||
|
|
||||||
|
$('.popover-dismiss').popover({
|
||||||
|
trigger: 'focus'
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
function bottomPos(element) {
|
||||||
|
return element.offset().top + element.outerHeight();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Bootstrap Fixed Header
|
||||||
|
$(function() {
|
||||||
|
var promo = $(".js-td-cover");
|
||||||
|
if (!promo.length) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
var promoOffset = bottomPos(promo);
|
||||||
|
var navbarOffset = $('.js-navbar-scroll').offset().top;
|
||||||
|
|
||||||
|
var threshold = Math.ceil($('.js-navbar-scroll').outerHeight());
|
||||||
|
if ((promoOffset - navbarOffset) < threshold) {
|
||||||
|
$('.js-navbar-scroll').addClass('navbar-bg-onscroll');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$(window).on('scroll', function() {
|
||||||
|
var navtop = $('.js-navbar-scroll').offset().top - $(window).scrollTop();
|
||||||
|
var promoOffset = bottomPos($('.js-td-cover'));
|
||||||
|
var navbarOffset = $('.js-navbar-scroll').offset().top;
|
||||||
|
if ((promoOffset - navbarOffset) < threshold) {
|
||||||
|
$('.js-navbar-scroll').addClass('navbar-bg-onscroll');
|
||||||
|
} else {
|
||||||
|
$('.js-navbar-scroll').removeClass('navbar-bg-onscroll');
|
||||||
|
$('.js-navbar-scroll').addClass('navbar-bg-onscroll--fade');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
}(jQuery));
|
|
@ -0,0 +1,47 @@
|
||||||
|
let codeListings = document.querySelectorAll('.highlight > pre');
|
||||||
|
|
||||||
|
for (let index = 0; index < codeListings.length; index++) {
|
||||||
|
const codeSample = codeListings[index].querySelector('code');
|
||||||
|
const copyButton = document.createElement('button');
|
||||||
|
const buttonAttributes = {
|
||||||
|
type: 'button',
|
||||||
|
title: 'Copy to clipboard',
|
||||||
|
'data-bs-toggle': 'tooltip',
|
||||||
|
'data-bs-placement': 'top',
|
||||||
|
'data-bs-container': 'body',
|
||||||
|
};
|
||||||
|
|
||||||
|
Object.keys(buttonAttributes).forEach((key) => {
|
||||||
|
copyButton.setAttribute(key, buttonAttributes[key]);
|
||||||
|
});
|
||||||
|
|
||||||
|
copyButton.classList.add(
|
||||||
|
'fas',
|
||||||
|
'fa-copy',
|
||||||
|
'btn',
|
||||||
|
'btn-dark',
|
||||||
|
'btn-sm',
|
||||||
|
'td-click-to-copy'
|
||||||
|
);
|
||||||
|
const tooltip = new bootstrap.Tooltip(copyButton);
|
||||||
|
|
||||||
|
copyButton.onclick = () => {
|
||||||
|
copyCode(codeSample);
|
||||||
|
copyButton.setAttribute('data-bs-original-title', 'Copied!');
|
||||||
|
tooltip.show();
|
||||||
|
};
|
||||||
|
|
||||||
|
copyButton.onmouseout = () => {
|
||||||
|
copyButton.setAttribute('data-bs-original-title', 'Copy to clipboard');
|
||||||
|
tooltip.hide();
|
||||||
|
};
|
||||||
|
|
||||||
|
const buttonDiv = document.createElement('div');
|
||||||
|
buttonDiv.classList.add('click-to-copy');
|
||||||
|
buttonDiv.append(copyButton);
|
||||||
|
codeListings[index].insertBefore(buttonDiv, codeSample);
|
||||||
|
}
|
||||||
|
|
||||||
|
const copyCode = (codeSample) => {
|
||||||
|
navigator.clipboard.writeText(codeSample.textContent.trim() + '\n');
|
||||||
|
};
|
|
@ -0,0 +1,106 @@
|
||||||
|
{{with .Site.Params.drawio}}
|
||||||
|
{{if .enable }}
|
||||||
|
(function () {
|
||||||
|
var shade;
|
||||||
|
var iframe;
|
||||||
|
|
||||||
|
var insertFrame = function () {
|
||||||
|
shade = document.createElement('div');
|
||||||
|
shade.classList.add('drawioframe');
|
||||||
|
iframe = document.createElement('iframe');
|
||||||
|
shade.appendChild(iframe);
|
||||||
|
document.body.appendChild(shade);
|
||||||
|
}
|
||||||
|
|
||||||
|
var closeFrame = function () {
|
||||||
|
if (shade) {
|
||||||
|
document.body.removeChild(shade);
|
||||||
|
shade = undefined;
|
||||||
|
iframe = undefined;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var imghandler = function (img, imgdata) {
|
||||||
|
var url = {{ .drawio_server | default "https://embed.diagrams.net/" | jsonify }};
|
||||||
|
url += '?embed=1&ui=atlas&spin=1&modified=unsavedChanges&proto=json&saveAndEdit=1&noSaveBtn=1';
|
||||||
|
|
||||||
|
var wrapper = document.createElement('div');
|
||||||
|
wrapper.classList.add('drawio');
|
||||||
|
img.parentNode.insertBefore(wrapper, img);
|
||||||
|
wrapper.appendChild(img);
|
||||||
|
|
||||||
|
var btn = document.createElement('button');
|
||||||
|
btn.classList.add('drawiobtn');
|
||||||
|
btn.insertAdjacentHTML('beforeend', '<i class="fas fa-edit"></i>');
|
||||||
|
wrapper.appendChild(btn);
|
||||||
|
|
||||||
|
btn.addEventListener('click', function (evt) {
|
||||||
|
if (iframe) return;
|
||||||
|
insertFrame();
|
||||||
|
var handler = function (evt) {
|
||||||
|
var wind = iframe.contentWindow;
|
||||||
|
if (evt.data.length > 0 && evt.source == wind) {
|
||||||
|
var msg = JSON.parse(evt.data);
|
||||||
|
|
||||||
|
if (msg.event == 'init') {
|
||||||
|
wind.postMessage(JSON.stringify({action: 'load', xml: imgdata}), '*');
|
||||||
|
|
||||||
|
} else if (msg.event == 'save') {
|
||||||
|
var fmt = imgdata.indexOf('data:image/png') == 0 ? 'xmlpng' : 'xmlsvg';
|
||||||
|
wind.postMessage(JSON.stringify({action: 'export', format: fmt}), '*');
|
||||||
|
|
||||||
|
} else if (msg.event == 'export') {
|
||||||
|
const fn = img.src.replace(/^.*?([^/]+)$/, '$1');
|
||||||
|
const dl = document.createElement('a');
|
||||||
|
dl.setAttribute('href', msg.data);
|
||||||
|
dl.setAttribute('download', fn);
|
||||||
|
document.body.appendChild(dl);
|
||||||
|
dl.click();
|
||||||
|
dl.parentNode.removeChild(dl);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (msg.event == 'exit' || msg.event == 'export') {
|
||||||
|
window.removeEventListener('message', handler);
|
||||||
|
closeFrame();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
window.addEventListener('message', handler);
|
||||||
|
iframe.setAttribute('src', url);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
document.addEventListener('DOMContentLoaded', function () {
|
||||||
|
// find all the png and svg images that may have embedded xml diagrams
|
||||||
|
for (const el of document.getElementsByTagName('img')) {
|
||||||
|
const img = el;
|
||||||
|
const src = img.getAttribute('src');
|
||||||
|
if (!src.endsWith('.svg') && !src.endsWith('.png')) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
const xhr = new XMLHttpRequest();
|
||||||
|
xhr.responseType = 'blob';
|
||||||
|
xhr.open("GET", src);
|
||||||
|
xhr.addEventListener("load", function () {
|
||||||
|
const fr = new FileReader();
|
||||||
|
fr.addEventListener('load', function () {
|
||||||
|
if (fr.result.indexOf('mxfile') != -1) {
|
||||||
|
const fr = new FileReader();
|
||||||
|
fr.addEventListener('load', function () {
|
||||||
|
const imgdata = fr.result;
|
||||||
|
imghandler(img, imgdata);
|
||||||
|
});
|
||||||
|
fr.readAsDataURL(xhr.response);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
fr.readAsBinaryString(xhr.response);
|
||||||
|
});
|
||||||
|
xhr.send();
|
||||||
|
};
|
||||||
|
});
|
||||||
|
}());
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
|
@ -0,0 +1,19 @@
|
||||||
|
{{ with .Site.Params.markmap }}
|
||||||
|
{{ if .enable }}
|
||||||
|
|
||||||
|
|
||||||
|
(function($) {
|
||||||
|
var needMarkmap = false;
|
||||||
|
$('.language-markmap').parent().replaceWith(function() {
|
||||||
|
needMarkmap = true;
|
||||||
|
return $('<div class="markmap">').text($(this).text());
|
||||||
|
});
|
||||||
|
|
||||||
|
const { markmap } = window;
|
||||||
|
if(needMarkmap) {
|
||||||
|
markmap.autoLoader.renderAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
})(jQuery);
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,183 @@
|
||||||
|
// Adapted from code by Matt Walters https://www.mattwalters.net/posts/2018-03-28-hugo-and-lunr/
|
||||||
|
|
||||||
|
(function ($) {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
$(document).ready(function () {
|
||||||
|
const $searchInput = $('.td-search input');
|
||||||
|
|
||||||
|
//
|
||||||
|
// Register handler
|
||||||
|
//
|
||||||
|
|
||||||
|
$searchInput.on('change', (event) => {
|
||||||
|
render($(event.target));
|
||||||
|
|
||||||
|
// Hide keyboard on mobile browser
|
||||||
|
$searchInput.blur();
|
||||||
|
});
|
||||||
|
|
||||||
|
// Prevent reloading page by enter key on sidebar search.
|
||||||
|
$searchInput.closest('form').on('submit', () => {
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
//
|
||||||
|
// Lunr
|
||||||
|
//
|
||||||
|
|
||||||
|
let idx = null; // Lunr index
|
||||||
|
const resultDetails = new Map(); // Will hold the data for the search results (titles and summaries)
|
||||||
|
|
||||||
|
// Set up for an Ajax call to request the JSON data file that is created by Hugo's build process
|
||||||
|
$.ajax($searchInput.data('offline-search-index-json-src')).then((data) => {
|
||||||
|
idx = lunr(function () {
|
||||||
|
this.ref('ref');
|
||||||
|
|
||||||
|
// If you added more searchable fields to the search index, list them here.
|
||||||
|
// Here you can specify searchable fields to the search index - e.g. individual toxonomies for you project
|
||||||
|
// With "boost" you can add weighting for specific (default weighting without boost: 1)
|
||||||
|
this.field('title', { boost: 5 });
|
||||||
|
this.field('categories', { boost: 3 });
|
||||||
|
this.field('tags', { boost: 3 });
|
||||||
|
// this.field('projects', { boost: 3 }); // example for an individual toxonomy called projects
|
||||||
|
this.field('description', { boost: 2 });
|
||||||
|
this.field('body');
|
||||||
|
|
||||||
|
data.forEach((doc) => {
|
||||||
|
this.add(doc);
|
||||||
|
|
||||||
|
resultDetails.set(doc.ref, {
|
||||||
|
title: doc.title,
|
||||||
|
excerpt: doc.excerpt,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
$searchInput.trigger('change');
|
||||||
|
});
|
||||||
|
|
||||||
|
const render = ($targetSearchInput) => {
|
||||||
|
//
|
||||||
|
// Dispose existing popover
|
||||||
|
//
|
||||||
|
|
||||||
|
{
|
||||||
|
let popover = bootstrap.Popover.getInstance($targetSearchInput[0]);
|
||||||
|
if (popover !== null) {
|
||||||
|
popover.dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// Search
|
||||||
|
//
|
||||||
|
|
||||||
|
if (idx === null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const searchQuery = $targetSearchInput.val();
|
||||||
|
if (searchQuery === '') {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const results = idx
|
||||||
|
.query((q) => {
|
||||||
|
const tokens = lunr.tokenizer(searchQuery.toLowerCase());
|
||||||
|
tokens.forEach((token) => {
|
||||||
|
const queryString = token.toString();
|
||||||
|
q.term(queryString, {
|
||||||
|
boost: 100,
|
||||||
|
});
|
||||||
|
q.term(queryString, {
|
||||||
|
wildcard:
|
||||||
|
lunr.Query.wildcard.LEADING | lunr.Query.wildcard.TRAILING,
|
||||||
|
boost: 10,
|
||||||
|
});
|
||||||
|
q.term(queryString, {
|
||||||
|
editDistance: 2,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.slice(0, $targetSearchInput.data('offline-search-max-results'));
|
||||||
|
|
||||||
|
//
|
||||||
|
// Make result html
|
||||||
|
//
|
||||||
|
|
||||||
|
const $html = $('<div>');
|
||||||
|
|
||||||
|
$html.append(
|
||||||
|
$('<div>')
|
||||||
|
.css({
|
||||||
|
display: 'flex',
|
||||||
|
justifyContent: 'space-between',
|
||||||
|
marginBottom: '1em',
|
||||||
|
})
|
||||||
|
.append(
|
||||||
|
$('<span>').text('Search results').css({ fontWeight: 'bold' })
|
||||||
|
)
|
||||||
|
.append(
|
||||||
|
$('<span>').addClass('td-offline-search-results__close-button')
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
const $searchResultBody = $('<div>').css({
|
||||||
|
maxHeight: `calc(100vh - ${
|
||||||
|
$targetSearchInput.offset().top - $(window).scrollTop() + 180
|
||||||
|
}px)`,
|
||||||
|
overflowY: 'auto',
|
||||||
|
});
|
||||||
|
$html.append($searchResultBody);
|
||||||
|
|
||||||
|
if (results.length === 0) {
|
||||||
|
$searchResultBody.append(
|
||||||
|
$('<p>').text(`No results found for query "${searchQuery}"`)
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
results.forEach((r) => {
|
||||||
|
const doc = resultDetails.get(r.ref);
|
||||||
|
const href =
|
||||||
|
$searchInput.data('offline-search-base-href') +
|
||||||
|
r.ref.replace(/^\//, '');
|
||||||
|
|
||||||
|
const $entry = $('<div>').addClass('mt-4');
|
||||||
|
|
||||||
|
$entry.append(
|
||||||
|
$('<small>').addClass('d-block text-muted').text(r.ref)
|
||||||
|
);
|
||||||
|
|
||||||
|
$entry.append(
|
||||||
|
$('<a>')
|
||||||
|
.addClass('d-block')
|
||||||
|
.css({
|
||||||
|
fontSize: '1.2rem',
|
||||||
|
})
|
||||||
|
.attr('href', href)
|
||||||
|
.text(doc.title)
|
||||||
|
);
|
||||||
|
|
||||||
|
$entry.append($('<p>').text(doc.excerpt));
|
||||||
|
|
||||||
|
$searchResultBody.append($entry);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
$targetSearchInput.one('shown.bs.popover', () => {
|
||||||
|
$('.td-offline-search-results__close-button').on('click', () => {
|
||||||
|
$targetSearchInput.val('');
|
||||||
|
$targetSearchInput.trigger('change');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
const popover = new bootstrap.Popover($targetSearchInput, {
|
||||||
|
content: $html[0],
|
||||||
|
html: true,
|
||||||
|
customClass: 'td-offline-search-results',
|
||||||
|
placement: 'bottom',
|
||||||
|
});
|
||||||
|
popover.show();
|
||||||
|
};
|
||||||
|
});
|
||||||
|
})(jQuery);
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,39 @@
|
||||||
|
/*
|
||||||
|
Copyright 2018 Google LLC
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
(function ($) {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
var Search = {
|
||||||
|
init: function () {
|
||||||
|
$(document).ready(function () {
|
||||||
|
$(document).on('keypress', '.td-search input', function (e) {
|
||||||
|
if (e.keyCode !== 13) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var query = $(this).val();
|
||||||
|
var searchPage = '{{ "search/" | absURL }}?q=' + query;
|
||||||
|
document.location = searchPage;
|
||||||
|
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
Search.init();
|
||||||
|
})(jQuery);
|
|
@ -0,0 +1,18 @@
|
||||||
|
{{- $.Scratch.Add "offline-search-index" slice -}}
|
||||||
|
{{- range where .Site.AllPages ".Params.exclude_search" "!=" true -}}
|
||||||
|
{{- /* We have to apply `htmlUnescape` again after `truncate` because `truncate` applies `html.EscapeString` if the argument is not HTML. */ -}}
|
||||||
|
{{- /* Individual taxonomies can be added in the next line by add '"taxonomy-name" (.Params.taxonomy-name | default "")' to the dict (as seen for categories and tags). */ -}}
|
||||||
|
{{- $.Scratch.Add
|
||||||
|
"offline-search-index"
|
||||||
|
(dict
|
||||||
|
"ref" .RelPermalink
|
||||||
|
"title" .Title
|
||||||
|
"categories" (.Params.categories | default "")
|
||||||
|
"tags" (.Params.tags | default "")
|
||||||
|
"description" (.Description | default "")
|
||||||
|
"body" (.Plain | htmlUnescape)
|
||||||
|
"excerpt" ((.Description | default .Plain) | htmlUnescape | truncate (.Site.Params.offlineSearchSummaryLength | default 70) | htmlUnescape)
|
||||||
|
)
|
||||||
|
-}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- $.Scratch.Get "offline-search-index" | jsonify -}}
|
|
@ -0,0 +1,20 @@
|
||||||
|
// Style alert boxes.
|
||||||
|
|
||||||
|
.alert {
|
||||||
|
font-weight: $font-weight-medium;
|
||||||
|
background: $white;
|
||||||
|
color: inherit;
|
||||||
|
border-radius: 0;
|
||||||
|
|
||||||
|
@each $color, $value in $theme-colors {
|
||||||
|
&-#{$color} {
|
||||||
|
& .alert-heading {
|
||||||
|
color: $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
border-style: solid;
|
||||||
|
border-color: $value;
|
||||||
|
border-width: 0 0 0 4px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,29 @@
|
||||||
|
.td-blog {
|
||||||
|
.td-rss-button {
|
||||||
|
@extend .btn;
|
||||||
|
@extend .btn-info;
|
||||||
|
@extend .btn-lg;
|
||||||
|
|
||||||
|
border-radius: 2rem;
|
||||||
|
float: right;
|
||||||
|
|
||||||
|
display: none;
|
||||||
|
@extend .d-lg-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
&-posts-list {
|
||||||
|
@extend .list-unstyled;
|
||||||
|
margin-top: map-get($spacers, 4) !important;
|
||||||
|
|
||||||
|
&__item {
|
||||||
|
display: flex;
|
||||||
|
align-items: flex-start;
|
||||||
|
margin-bottom: map-get($spacers, 4) !important;
|
||||||
|
|
||||||
|
&__body {
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,118 @@
|
||||||
|
// Boxes on the home page and similar: .td-box
|
||||||
|
|
||||||
|
// box-variant creates the main style for a colored section
|
||||||
|
@mixin box-variant($parent, $color-name, $color-value) {
|
||||||
|
$text-color: color-contrast($color-value);
|
||||||
|
$link-color: mix($blue, $text-color, lightness($color-value));
|
||||||
|
$link-hover-color: if(
|
||||||
|
color-contrast($link-color) == $color-contrast-light,
|
||||||
|
shade-color($link-color, $link-shade-percentage),
|
||||||
|
tint-color($link-color, $link-shade-percentage)
|
||||||
|
);
|
||||||
|
|
||||||
|
#{$parent} {
|
||||||
|
&--#{$color-name} {
|
||||||
|
color: $text-color;
|
||||||
|
background-color: #{$color-value};
|
||||||
|
|
||||||
|
.td-arrow-down {
|
||||||
|
&::before {
|
||||||
|
left: 50%;
|
||||||
|
margin-left: -30px;
|
||||||
|
bottom: -25px;
|
||||||
|
border: {
|
||||||
|
style: solid;
|
||||||
|
width: 25px 30px 0 30px;
|
||||||
|
color: #{$color-value} transparent transparent transparent;
|
||||||
|
}
|
||||||
|
z-index: 3;
|
||||||
|
position: absolute;
|
||||||
|
content: "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Improve contrast for the links in paragraphs.
|
||||||
|
@include link-variant(
|
||||||
|
"#{$parent}--#{$color-name} p > a, #{$parent}--#{$color-name} span > a",
|
||||||
|
$link-color,
|
||||||
|
$link-hover-color,
|
||||||
|
false
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Common min-height modifiers used for boxes.
|
||||||
|
@mixin td-box-height-modifiers($parent) {
|
||||||
|
#{$parent} {
|
||||||
|
&--height-min {
|
||||||
|
min-height: 300px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&--height-med {
|
||||||
|
min-height: 400px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&--height-max {
|
||||||
|
min-height: 500px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&--height-full {
|
||||||
|
min-height: 100vh;
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media-breakpoint-up(md) {
|
||||||
|
&--height-min {
|
||||||
|
min-height: 450px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&--height-med {
|
||||||
|
min-height: 500px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&--height-max {
|
||||||
|
min-height: 650px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@include td-box-height-modifiers(".td-box");
|
||||||
|
|
||||||
|
// Styling for section boxes
|
||||||
|
.td-box {
|
||||||
|
.row {
|
||||||
|
padding-left: 5vw;
|
||||||
|
padding-right: 5vw;
|
||||||
|
}
|
||||||
|
table {
|
||||||
|
@extend .td-table;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Styling for community page link boxes
|
||||||
|
|
||||||
|
.td-box.linkbox {
|
||||||
|
padding: 5vh 5vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
// This allows "painting by numbers"
|
||||||
|
@for $i from 1 through length($td-box-colors) {
|
||||||
|
$c: nth($td-box-colors, $i);
|
||||||
|
$name: $i - 1;
|
||||||
|
|
||||||
|
@include box-variant(".td-box", $name, $c);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Same as above with all the theme color names.
|
||||||
|
@each $color, $value in $colors {
|
||||||
|
@include box-variant(".td-box", $color, $value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@each $color, $value in $theme-colors {
|
||||||
|
@include box-variant(".td-box", $color, $value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@each $color, $value in $grays {
|
||||||
|
@include box-variant(".td-box", $color, $value);
|
||||||
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
// Breadcrumb
|
||||||
|
|
||||||
|
.td-breadcrumbs {
|
||||||
|
@media print {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.breadcrumb {
|
||||||
|
background: inherit;
|
||||||
|
padding-left: 0;
|
||||||
|
padding-top: 0;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,86 @@
|
||||||
|
// Code formatting.
|
||||||
|
|
||||||
|
.td-content {
|
||||||
|
// Highlighted code.
|
||||||
|
.highlight {
|
||||||
|
@extend .card;
|
||||||
|
|
||||||
|
margin: 2rem 0;
|
||||||
|
padding: 0;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.click-to-copy {
|
||||||
|
display: block;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre {
|
||||||
|
margin: 0;
|
||||||
|
padding: 1rem;
|
||||||
|
border-radius: inherit;
|
||||||
|
|
||||||
|
// Default click-to-copy button
|
||||||
|
|
||||||
|
button.td-click-to-copy {
|
||||||
|
position: absolute;
|
||||||
|
color: $gray-400;
|
||||||
|
border-radius: 3px;
|
||||||
|
border-width: 0;
|
||||||
|
background-color: inherit;
|
||||||
|
box-shadow: 1px 1px $gray-400;
|
||||||
|
right: 4px;
|
||||||
|
top: 2px;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
color: $dark;
|
||||||
|
background-color: $gray-400;
|
||||||
|
}
|
||||||
|
&:active {
|
||||||
|
color: $dark;
|
||||||
|
background-color: $gray-400;
|
||||||
|
transform: translateY(2px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Inline code
|
||||||
|
p code,
|
||||||
|
li > code,
|
||||||
|
table code {
|
||||||
|
color: inherit;
|
||||||
|
padding: 0.2em 0.4em;
|
||||||
|
margin: 0;
|
||||||
|
font-size: 85%;
|
||||||
|
word-break: normal;
|
||||||
|
background-color: rgba($black, 0.05);
|
||||||
|
border-radius: $border-radius;
|
||||||
|
|
||||||
|
br {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Code blocks
|
||||||
|
pre {
|
||||||
|
word-wrap: normal;
|
||||||
|
background-color: $gray-100;
|
||||||
|
padding: $spacer;
|
||||||
|
|
||||||
|
> code {
|
||||||
|
background-color: inherit !important;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
font-size: 100%;
|
||||||
|
word-break: normal;
|
||||||
|
white-space: pre;
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pre.mermaid {
|
||||||
|
background-color: inherit;
|
||||||
|
font-size: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,45 @@
|
||||||
|
// Add some local palette classes so you can do -bg-warning -text-warning etc. Even -bg-1 if you want to paint by numbers.
|
||||||
|
@mixin palette-variant($color-name, $color-value) {
|
||||||
|
$text-color: color-contrast($color-value);
|
||||||
|
$link-color: mix($blue, $text-color, lightness($color-value));
|
||||||
|
|
||||||
|
$link-hover-color: rgba($link-color, 0.5) !default;
|
||||||
|
|
||||||
|
.-bg-#{$color-name} {
|
||||||
|
color: $text-color;
|
||||||
|
background-color: $color-value;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Make links in paragraphs stand out more.
|
||||||
|
@include link-variant(
|
||||||
|
".-bg-#{$color-name} p:not(.p-initial) > a",
|
||||||
|
$link-color,
|
||||||
|
$link-hover-color,
|
||||||
|
false
|
||||||
|
);
|
||||||
|
|
||||||
|
.-text-#{$color-name} {
|
||||||
|
color: $color-value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@each $color, $value in $colors {
|
||||||
|
@include palette-variant($color, $value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@each $color, $value in $theme-colors {
|
||||||
|
@include palette-variant($color, $value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@each $color, $value in $grays {
|
||||||
|
@include palette-variant($color, $value);
|
||||||
|
}
|
||||||
|
|
||||||
|
// This allows "painting by numbers", i.e. picking colors by a shortcode Ordinal.
|
||||||
|
@for $i from 1 through length($td-box-colors) {
|
||||||
|
$value: nth($td-box-colors, $i);
|
||||||
|
$name: $i - 1;
|
||||||
|
$text-color: color-contrast($value);
|
||||||
|
|
||||||
|
@include palette-variant($name, $value);
|
||||||
|
}
|
|
@ -0,0 +1,120 @@
|
||||||
|
//
|
||||||
|
// Style Markdown content
|
||||||
|
//
|
||||||
|
|
||||||
|
.td-content {
|
||||||
|
order: 1;
|
||||||
|
|
||||||
|
p,
|
||||||
|
li,
|
||||||
|
td {
|
||||||
|
font-weight: $font-weight-body-text;
|
||||||
|
}
|
||||||
|
|
||||||
|
> h1 {
|
||||||
|
font-weight: $font-weight-bold;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
> h2 {
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
> h2:not(:first-child) {
|
||||||
|
margin-top: 3rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
> h2 + h3 {
|
||||||
|
margin-top: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
> h3,
|
||||||
|
> h4,
|
||||||
|
> h5,
|
||||||
|
> h6 {
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
margin-top: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
img {
|
||||||
|
@extend .img-fluid;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
@extend .td-table;
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote {
|
||||||
|
padding: 0 0 0 1rem;
|
||||||
|
margin-bottom: $spacer;
|
||||||
|
color: $gray-600;
|
||||||
|
border-left: 6px solid $secondary;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul li,
|
||||||
|
ol li {
|
||||||
|
margin-bottom: 0.25rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
strong {
|
||||||
|
font-weight: $font-weight-bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footnotes,
|
||||||
|
> .alert,
|
||||||
|
> .highlight,
|
||||||
|
> .lead,
|
||||||
|
> .td-table,
|
||||||
|
> blockquote,
|
||||||
|
> dl dd,
|
||||||
|
> h1,
|
||||||
|
> h2,
|
||||||
|
> ol,
|
||||||
|
> p,
|
||||||
|
> pre,
|
||||||
|
> ul {
|
||||||
|
@extend .td-max-width-on-larger-screens;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alert:not(:first-child) {
|
||||||
|
margin-top: 2 * $spacer;
|
||||||
|
margin-bottom: 2 * $spacer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lead {
|
||||||
|
margin-bottom: 1.5rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.td-title {
|
||||||
|
margin-top: 1rem;
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
|
|
||||||
|
@include media-breakpoint-up(sm) {
|
||||||
|
font-size: 3rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.td-heading-self-link {
|
||||||
|
&:before {
|
||||||
|
content: '#';
|
||||||
|
}
|
||||||
|
|
||||||
|
font-size: 90%;
|
||||||
|
padding-left: 0.25em;
|
||||||
|
text-decoration: none;
|
||||||
|
visibility: hidden;
|
||||||
|
|
||||||
|
// Always visible on touch devices and small screens
|
||||||
|
@media (hover: none) and (pointer: coarse),
|
||||||
|
(max-width: map-get($grid-breakpoints, sm)) {
|
||||||
|
visibility: visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@for $i from 1 through 6 {
|
||||||
|
h#{$i}:hover > .td-heading-self-link {
|
||||||
|
visibility: visible;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,39 @@
|
||||||
|
div.drawio {
|
||||||
|
display: inline-block;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
button {
|
||||||
|
@extend .btn;
|
||||||
|
@extend .btn-outline-primary;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 5px;
|
||||||
|
right: 5px;
|
||||||
|
padding: 0.4em 0.5em;
|
||||||
|
font-size: 0.8em;
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover button {
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
div.drawioframe {
|
||||||
|
position: fixed;
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
top: 0;
|
||||||
|
left: 0px;
|
||||||
|
z-index: 1000;
|
||||||
|
background: #000b;
|
||||||
|
border: 0;
|
||||||
|
|
||||||
|
iframe {
|
||||||
|
position: absolute;
|
||||||
|
height: 90%;
|
||||||
|
width: 90%;
|
||||||
|
top: 5%;
|
||||||
|
left: 5%;
|
||||||
|
z-index: 1010;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,34 @@
|
||||||
|
// The outer page container i.e. common styles for any page.
|
||||||
|
.td-outer {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
min-height: 100vh;
|
||||||
|
}
|
||||||
|
|
||||||
|
// The outer page container for the default base template.
|
||||||
|
.td-default {
|
||||||
|
main {
|
||||||
|
> section:first-of-type {
|
||||||
|
@include media-breakpoint-up(md) {
|
||||||
|
padding-top: 8rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
section {
|
||||||
|
@extend .td-block-padding;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.td-main {
|
||||||
|
flex-grow: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.td-404 main,
|
||||||
|
.td-main main {
|
||||||
|
padding-top: 1.5rem;
|
||||||
|
padding-bottom: 2rem;
|
||||||
|
@include media-breakpoint-up(md) {
|
||||||
|
padding-top: 5.5rem;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,224 @@
|
||||||
|
//
|
||||||
|
// Main navbar
|
||||||
|
//
|
||||||
|
|
||||||
|
.td-navbar-cover {
|
||||||
|
@include media-breakpoint-up(md) {
|
||||||
|
background: transparent !important;
|
||||||
|
|
||||||
|
.nav-link {
|
||||||
|
text-shadow: 1px 1px 2px $dark;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.navbar-bg-onscroll .nav-link {
|
||||||
|
text-shadow: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-bg-onscroll {
|
||||||
|
background: $primary !important;
|
||||||
|
opacity: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
.td-navbar {
|
||||||
|
@extend .navbar;
|
||||||
|
@extend .navbar-expand;
|
||||||
|
|
||||||
|
background: $dark;
|
||||||
|
min-height: 5rem;
|
||||||
|
margin: 0;
|
||||||
|
z-index: 15;
|
||||||
|
|
||||||
|
.navbar-brand {
|
||||||
|
text-transform: none;
|
||||||
|
|
||||||
|
&__name {
|
||||||
|
font-weight: $font-weight-bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
svg {
|
||||||
|
display: inline-block;
|
||||||
|
margin: 0 10px;
|
||||||
|
height: 30px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-nav {
|
||||||
|
padding-top: $spacer * 0.5;
|
||||||
|
white-space: nowrap;
|
||||||
|
padding-bottom: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-link {
|
||||||
|
text-transform: none;
|
||||||
|
color: $secondary !important;
|
||||||
|
font-weight: $font-weight-bold;
|
||||||
|
border-radius: 5px;
|
||||||
|
padding: .5rem 1.5rem !important;
|
||||||
|
margin-top: unset !important;
|
||||||
|
&:hover {
|
||||||
|
background-color: #61616144;
|
||||||
|
transition: background-color 0.2s ease-in-out;
|
||||||
|
}
|
||||||
|
&.nav-link.active {
|
||||||
|
background-color: #616161;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// For .td-search__input styling, see _search.scss
|
||||||
|
|
||||||
|
.dropdown {
|
||||||
|
min-width: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media-breakpoint-up(md) {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
width: 100%;
|
||||||
|
|
||||||
|
.nav-item {
|
||||||
|
padding-inline-end: $spacer * 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-nav {
|
||||||
|
padding-top: 0 !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media-breakpoint-down(lg) {
|
||||||
|
.td-navbar-nav-scroll {
|
||||||
|
max-width: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
font-size: 0.9rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-brand {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-nav {
|
||||||
|
padding-bottom: 2rem;
|
||||||
|
overflow-x: auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Icons
|
||||||
|
#main_navbar {
|
||||||
|
li i {
|
||||||
|
padding-right: 0.5em;
|
||||||
|
|
||||||
|
&:before {
|
||||||
|
display: inline-block;
|
||||||
|
text-align: center;
|
||||||
|
min-width: 1em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.alert {
|
||||||
|
background-color: inherit;
|
||||||
|
padding: 0;
|
||||||
|
color: $secondary;
|
||||||
|
border: 0;
|
||||||
|
font-weight: inherit;
|
||||||
|
|
||||||
|
&:before {
|
||||||
|
display: inline-block;
|
||||||
|
font-style: normal;
|
||||||
|
font-variant: normal;
|
||||||
|
text-rendering: auto;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
font-family: $font-awesome-font-name;
|
||||||
|
font-weight: 900;
|
||||||
|
content: "\f0d9";
|
||||||
|
padding-left: 0.5em;
|
||||||
|
padding-right: 0.5em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Foldable sidebar menu
|
||||||
|
nav.foldable-nav {
|
||||||
|
&#td-section-nav {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
&#td-section-nav label {
|
||||||
|
margin-bottom: 0;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.td-sidebar-nav__section,
|
||||||
|
.with-child ul {
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ul-1 > li {
|
||||||
|
padding-left: 1.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.foldable {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
input:checked ~ ul.foldable {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type="checkbox"] {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.with-child,
|
||||||
|
.without-child {
|
||||||
|
position: relative;
|
||||||
|
padding-left: 1.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ul-1 .with-child > label:before {
|
||||||
|
display: inline-block;
|
||||||
|
font-style: normal;
|
||||||
|
font-variant: normal;
|
||||||
|
text-rendering: auto;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
font-family: $font-awesome-font-name;
|
||||||
|
font-weight: 900;
|
||||||
|
content: "\f0da";
|
||||||
|
position: absolute;
|
||||||
|
left: 0.1em;
|
||||||
|
padding-left: 0.4em;
|
||||||
|
padding-right: 0.4em;
|
||||||
|
font-size: 1em;
|
||||||
|
color: $gray-900;
|
||||||
|
transition: all 0.5s;
|
||||||
|
&:hover {
|
||||||
|
transform: rotate(90deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.ul-1 .with-child > input:checked ~ label:before {
|
||||||
|
color: $primary;
|
||||||
|
transform: rotate(90deg);
|
||||||
|
transition: transform 0.5s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.with-child ul {
|
||||||
|
margin-top: 0.1em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (hover: hover) and (pointer: fine) {
|
||||||
|
nav.foldable-nav {
|
||||||
|
.ul-1 .with-child > label:hover:before {
|
||||||
|
color: $primary;
|
||||||
|
transition: color 0.3s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ul-1 .with-child > input:checked ~ label:hover:before {
|
||||||
|
color: $primary;
|
||||||
|
transition: color 0.3s;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,25 @@
|
||||||
|
.pageinfo {
|
||||||
|
font-weight: $font-weight-medium;
|
||||||
|
background: $gray-100;
|
||||||
|
color: inherit;
|
||||||
|
border-radius: 0;
|
||||||
|
margin: 2rem;
|
||||||
|
padding: 1.5rem;
|
||||||
|
padding-bottom: 0.5rem;
|
||||||
|
|
||||||
|
@each $color, $value in $theme-colors {
|
||||||
|
&-#{$color} {
|
||||||
|
border-style: solid;
|
||||||
|
border-color: $value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.td-page-meta {
|
||||||
|
&__lastmod {
|
||||||
|
@extend .text-muted;
|
||||||
|
@extend .border-top;
|
||||||
|
margin-top: map-get($spacers, 5) !important;
|
||||||
|
padding-top: map-get($spacers, 3) !important;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,122 @@
|
||||||
|
// Search
|
||||||
|
|
||||||
|
.td-search {
|
||||||
|
background: transparent;
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
|
||||||
|
// Search icon
|
||||||
|
&__icon {
|
||||||
|
// Vertically center the content.
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
height: 100%;
|
||||||
|
|
||||||
|
// Position this on the left of the input.
|
||||||
|
position: absolute;
|
||||||
|
left: 0.75em;
|
||||||
|
|
||||||
|
// Click-through to the underlying input.
|
||||||
|
pointer-events: none;
|
||||||
|
|
||||||
|
&:before {
|
||||||
|
@extend .fa;
|
||||||
|
content: fa-content($fa-var-search);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Styling adjustments for the navbar
|
||||||
|
@at-root {
|
||||||
|
.td-navbar & {
|
||||||
|
color: $navbar-dark-color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Search input element
|
||||||
|
&__input {
|
||||||
|
width: 100%;
|
||||||
|
text-indent: 1.25em;
|
||||||
|
|
||||||
|
&:not(:focus) {
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.form-control:focus {
|
||||||
|
border-color: tint-color($primary, 95%);
|
||||||
|
box-shadow: 0 0 0 2px tint-color($primary, 40%);
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Styling adjustments for the navbar
|
||||||
|
@at-root {
|
||||||
|
.td-navbar & {
|
||||||
|
border: none;
|
||||||
|
color: $navbar-dark-color;
|
||||||
|
|
||||||
|
@include placeholder {
|
||||||
|
color: $navbar-dark-color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Hide icon on focus
|
||||||
|
&:focus-within {
|
||||||
|
.td-search__icon {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.td-search-input {
|
||||||
|
text-indent: 0px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&:not(:focus-within) {
|
||||||
|
color: $input-placeholder-color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.td-sidebar .td-search--algolia {
|
||||||
|
display: block;
|
||||||
|
padding: 0 0.5rem;
|
||||||
|
> button {
|
||||||
|
margin: 0;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Offline search
|
||||||
|
|
||||||
|
.td-search--offline {
|
||||||
|
&:focus-within {
|
||||||
|
// Don't hide the search icon on focus: this gives better UX when user
|
||||||
|
// explores content of search-results popup and focus is lost.
|
||||||
|
|
||||||
|
.td-search__icon {
|
||||||
|
display: flex;
|
||||||
|
color: $input-placeholder-color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.td-offline-search-results {
|
||||||
|
max-width: 90%;
|
||||||
|
|
||||||
|
.card {
|
||||||
|
margin-bottom: $spacer * 0.5;
|
||||||
|
|
||||||
|
.card-header {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&__close-button {
|
||||||
|
// cursor: pointer;
|
||||||
|
float: right;
|
||||||
|
|
||||||
|
&:after {
|
||||||
|
@extend .fas;
|
||||||
|
content: fa-content($fa-var-times);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,61 @@
|
||||||
|
//
|
||||||
|
// Right side toc
|
||||||
|
//
|
||||||
|
.td-sidebar-toc {
|
||||||
|
@include link-decoration;
|
||||||
|
|
||||||
|
border-left: 1px solid $border-color;
|
||||||
|
|
||||||
|
@supports (position: sticky) {
|
||||||
|
position: sticky;
|
||||||
|
top: 4rem;
|
||||||
|
height: calc(100vh - 4rem);
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
order: 2;
|
||||||
|
padding-top: 0.75rem;
|
||||||
|
padding-bottom: 1.5rem;
|
||||||
|
vertical-align: top;
|
||||||
|
|
||||||
|
.td-page-meta a {
|
||||||
|
display: block;
|
||||||
|
font-weight: $font-weight-medium;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.td-toc {
|
||||||
|
a {
|
||||||
|
display: block;
|
||||||
|
font-weight: $font-weight-light;
|
||||||
|
padding-bottom: 0.25rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
li {
|
||||||
|
list-style: none;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
li li {
|
||||||
|
margin-left: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
#TableOfContents {
|
||||||
|
// Hugo's ToC is a mouthful, this can be used to style the top level h2 entries.
|
||||||
|
> ul > li > ul > li > a {
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: $gray-600;
|
||||||
|
|
||||||
|
&:focus,
|
||||||
|
&:hover {
|
||||||
|
color: initial;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ul {
|
||||||
|
padding-left: 0;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,180 @@
|
||||||
|
//
|
||||||
|
// Left side navigation
|
||||||
|
//
|
||||||
|
.td-sidebar-nav {
|
||||||
|
$_max-height: calc(100vh - 8.5rem);
|
||||||
|
|
||||||
|
padding-right: 0.5rem;
|
||||||
|
margin-right: -15px;
|
||||||
|
margin-left: -15px;
|
||||||
|
|
||||||
|
@include media-breakpoint-up(md) {
|
||||||
|
@supports (position: sticky) {
|
||||||
|
max-height: $_max-height;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Adjust height and padding when sidebar_search_disable is true, but only for
|
||||||
|
// >= `lg` views, because on tablet (`md`) and mobile (<= `sm`), the search
|
||||||
|
// box is displayed regardless of the value of sidebar_search_disable:
|
||||||
|
&.td-sidebar-nav--search-disabled {
|
||||||
|
@include media-breakpoint-up(lg) {
|
||||||
|
// There's no search box so add top padding
|
||||||
|
// and adjust max-height:
|
||||||
|
padding-top: 1rem;
|
||||||
|
|
||||||
|
@supports (position: sticky) {
|
||||||
|
max-height: calc(#{$_max-height} + 4.5rem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media-breakpoint-up(md) {
|
||||||
|
display: block !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__section {
|
||||||
|
li {
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.ul-0, ul {
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media-breakpoint-up(md) {
|
||||||
|
& .ul-1 ul {
|
||||||
|
padding-left: 1.5em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
padding-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__section-title {
|
||||||
|
display: block;
|
||||||
|
font-weight: $font-weight-medium;
|
||||||
|
|
||||||
|
.active {
|
||||||
|
font-weight: $font-weight-bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: $gray-900;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.td-sidebar-link {
|
||||||
|
display: block;
|
||||||
|
padding-bottom: 0.375rem;
|
||||||
|
|
||||||
|
&__page {
|
||||||
|
color: $gray-700;
|
||||||
|
font-weight: $font-weight-light;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
&:focus,
|
||||||
|
&:hover {
|
||||||
|
color: $link-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.active {
|
||||||
|
font-weight: $font-weight-bold;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown {
|
||||||
|
a {
|
||||||
|
color: $gray-700;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-link {
|
||||||
|
padding: 0 0 1rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
& > .td-sidebar-nav__section {
|
||||||
|
padding-left: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
li i {
|
||||||
|
// Layout of icons
|
||||||
|
padding-right: 0.5em;
|
||||||
|
&:before {
|
||||||
|
display: inline-block;
|
||||||
|
text-align: center;
|
||||||
|
min-width: 1em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.td-sidebar-link.tree-root {
|
||||||
|
font-weight: $font-weight-bold;
|
||||||
|
color: $td-sidebar-tree-root-color;
|
||||||
|
border-bottom: 1px $td-sidebar-tree-root-color solid;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.td-sidebar {
|
||||||
|
@include link-decoration;
|
||||||
|
|
||||||
|
@include media-breakpoint-up(md) {
|
||||||
|
padding-top: 4rem;
|
||||||
|
background-color: $td-sidebar-bg-color;
|
||||||
|
padding-right: 1rem;
|
||||||
|
border-right: 1px solid $td-sidebar-border-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
padding-bottom: 1rem;
|
||||||
|
|
||||||
|
&__toggle {
|
||||||
|
line-height: 1;
|
||||||
|
color: $gray-900;
|
||||||
|
margin: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__search {
|
||||||
|
padding: 1rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__inner {
|
||||||
|
order: 0;
|
||||||
|
|
||||||
|
@include media-breakpoint-up(md) {
|
||||||
|
@supports (position: sticky) {
|
||||||
|
position: sticky;
|
||||||
|
top: 4rem;
|
||||||
|
z-index: 10;
|
||||||
|
height: calc(100vh - 5rem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media-breakpoint-up(xl) {
|
||||||
|
flex: 0 1 320px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.td-search-box {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#content-desktop {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
#content-mobile {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media-breakpoint-down(lg) {
|
||||||
|
#content-desktop {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
#content-mobile {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
/*
|
||||||
|
|
||||||
|
Nothing defined here. The Hugo project that uses this theme can override Bootstrap by adding a file to:
|
||||||
|
|
||||||
|
assets/scss/_styles_project.scss
|
||||||
|
|
||||||
|
*/
|
|
@ -0,0 +1,3 @@
|
||||||
|
.swagger-ui .info .title small pre {
|
||||||
|
background: #7d8492;
|
||||||
|
}
|
|
@ -0,0 +1,9 @@
|
||||||
|
.td-table:not(.td-initial) {
|
||||||
|
@extend .table;
|
||||||
|
@extend .table-striped;
|
||||||
|
@extend .table-responsive;
|
||||||
|
|
||||||
|
// The following is needed for tables to be responsive.
|
||||||
|
// For details, see the https://docsy.dev/docs/adding-content/lookandfeel/#tables
|
||||||
|
display: block;
|
||||||
|
}
|
|
@ -0,0 +1,344 @@
|
||||||
|
// Taxonomies - e.g. Tags, Categories, ...
|
||||||
|
|
||||||
|
.taxonomy-terms-article {
|
||||||
|
width: 100%;
|
||||||
|
clear: both;
|
||||||
|
font-size: 0.8rem;
|
||||||
|
|
||||||
|
.taxonomy-title {
|
||||||
|
display: inline;
|
||||||
|
font-size: 1.25em;
|
||||||
|
height: 1em;
|
||||||
|
line-height: 1em;
|
||||||
|
margin-right: 0.5em;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.taxonomy-terms-cloud {
|
||||||
|
width: 100%;
|
||||||
|
clear: both;
|
||||||
|
font-size: 0.8rem;
|
||||||
|
|
||||||
|
.taxonomy-title {
|
||||||
|
display: inline-block;
|
||||||
|
width: 100%;
|
||||||
|
font-size: 1rem;
|
||||||
|
font-weight: 700;
|
||||||
|
color: $primary;
|
||||||
|
border-bottom: 1px $primary solid;
|
||||||
|
margin-bottom: 1em;
|
||||||
|
padding-bottom: 0.375rem;
|
||||||
|
margin-top: 1em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.taxonomy-terms-page {
|
||||||
|
max-width: 800px;
|
||||||
|
margin: auto;
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
margin-bottom: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.taxonomy-terms-cloud {
|
||||||
|
font-size: 1em;
|
||||||
|
|
||||||
|
li {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.taxo-text-tags {
|
||||||
|
li + li::before {
|
||||||
|
content: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.taxo-fruits {
|
||||||
|
.taxonomy-count,
|
||||||
|
.taxonomy-label {
|
||||||
|
display: inherit;
|
||||||
|
font-size: 1rem;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
padding-right: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.taxonomy-count::before {
|
||||||
|
content: "(";
|
||||||
|
}
|
||||||
|
.taxonomy-count::after {
|
||||||
|
content: ")";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.taxonomy-terms {
|
||||||
|
list-style: none;
|
||||||
|
margin: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
padding: 0;
|
||||||
|
display: inline;
|
||||||
|
|
||||||
|
li {
|
||||||
|
// https://stackoverflow.com/questions/3247358/how-do-i-wrap-text-with-no-whitespace-inside-a-td
|
||||||
|
display: inline;
|
||||||
|
overflow-wrap: break-word;
|
||||||
|
word-wrap: break-word;
|
||||||
|
-ms-word-break: break-all;
|
||||||
|
word-break: break-all;
|
||||||
|
word-break: break-word;
|
||||||
|
-ms-hyphens: auto;
|
||||||
|
-moz-hyphens: auto;
|
||||||
|
-webkit-hyphens: auto;
|
||||||
|
hyphens: auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.taxonomy-count {
|
||||||
|
font-size: 0.8em;
|
||||||
|
line-height: 1.25em;
|
||||||
|
display: inline-block;
|
||||||
|
padding-left: 0.6em;
|
||||||
|
padding-right: 0.6em;
|
||||||
|
margin-left: 0.6em;
|
||||||
|
text-align: center;
|
||||||
|
border-radius: 1em;
|
||||||
|
background-color: $white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.taxonomy-term {
|
||||||
|
background: $gray-200;
|
||||||
|
border-width: 0;
|
||||||
|
border-radius: 0 3px 3px 0;
|
||||||
|
color: $gray-600;
|
||||||
|
display: inline-block;
|
||||||
|
font-size: 1em;
|
||||||
|
line-height: 1.5em;
|
||||||
|
min-height: 1.5em;
|
||||||
|
max-width: 100%;
|
||||||
|
padding: 0 0.5em 0 1em;
|
||||||
|
position: relative;
|
||||||
|
margin: 0 0.5em 0.2em 0;
|
||||||
|
text-decoration: none;
|
||||||
|
-webkit-transition: color 0.2s;
|
||||||
|
-webkit-clip-path: polygon(100% 0, 100% 100%, 0.8em 100%, 0 50%, 0.8em 0);
|
||||||
|
clip-path: polygon(100% 0, 100% 100%, 0.8em 100%, 0 50%, 0.8em 0);
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background-color: $primary;
|
||||||
|
color: $white;
|
||||||
|
|
||||||
|
.taxonomy-count {
|
||||||
|
color: $dark !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover::before {
|
||||||
|
background: $primary;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Example for simple tags layout
|
||||||
|
.taxo-text-tags {
|
||||||
|
.taxonomy-term {
|
||||||
|
background: none;
|
||||||
|
border-width: 0;
|
||||||
|
border-radius: 0;
|
||||||
|
color: $gray-600;
|
||||||
|
font-size: 1em;
|
||||||
|
line-height: 1.5em;
|
||||||
|
min-height: 1.5em;
|
||||||
|
max-width: 100%;
|
||||||
|
padding: 0;
|
||||||
|
position: relative;
|
||||||
|
margin: 0;
|
||||||
|
text-decoration: none;
|
||||||
|
-webkit-clip-path: none;
|
||||||
|
clip-path: none;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background: none;
|
||||||
|
color: $link-color;
|
||||||
|
|
||||||
|
.taxonomy-count {
|
||||||
|
color: $dark !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover::before {
|
||||||
|
background: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
li + li::before {
|
||||||
|
content: "|";
|
||||||
|
color: $gray-600;
|
||||||
|
margin-right: 0.2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.taxonomy-count {
|
||||||
|
font-size: 1em;
|
||||||
|
line-height: 1.25em;
|
||||||
|
display: inline-block;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
text-align: center;
|
||||||
|
border-radius: 0;
|
||||||
|
background: none;
|
||||||
|
vertical-align: super;
|
||||||
|
font-size: 0.75em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.taxonomy-term:hover .taxonomy-count {
|
||||||
|
color: $link-color !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Example for icon tags
|
||||||
|
.taxo-fruits {
|
||||||
|
.taxonomy-term[data-taxonomy-term]::before {
|
||||||
|
font-style: normal;
|
||||||
|
font-variant: normal;
|
||||||
|
text-rendering: auto;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
font-family: $font-awesome-font-name;
|
||||||
|
// font-weight: 900;
|
||||||
|
padding-right: 0.5em;
|
||||||
|
font-size: 2em;
|
||||||
|
min-width: 1.5em;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.taxonomy-term[data-taxonomy-term="apple"]::before {
|
||||||
|
content: "\f5d1";
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
|
||||||
|
.taxonomy-term[data-taxonomy-term="carrot"]::before {
|
||||||
|
content: "\f787";
|
||||||
|
color: orange;
|
||||||
|
}
|
||||||
|
|
||||||
|
.taxonomy-term[data-taxonomy-term="lemon"]::before {
|
||||||
|
content: "\f094";
|
||||||
|
color: limegreen;
|
||||||
|
}
|
||||||
|
|
||||||
|
.taxonomy-term[data-taxonomy-term="pepper"]::before {
|
||||||
|
content: "\f816";
|
||||||
|
color: darkred;
|
||||||
|
}
|
||||||
|
|
||||||
|
.taxonomy-term {
|
||||||
|
background: none;
|
||||||
|
border-width: 0;
|
||||||
|
border-radius: 0;
|
||||||
|
color: $gray-600;
|
||||||
|
font-size: 1em;
|
||||||
|
line-height: 2.5em;
|
||||||
|
max-width: 100%;
|
||||||
|
padding: 0;
|
||||||
|
position: relative;
|
||||||
|
margin: 0;
|
||||||
|
text-decoration: none;
|
||||||
|
-webkit-clip-path: none;
|
||||||
|
clip-path: none;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background: none;
|
||||||
|
color: $link-color;
|
||||||
|
|
||||||
|
.taxonomy-count {
|
||||||
|
color: $dark !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover::before {
|
||||||
|
background: none;
|
||||||
|
text-shadow: 0 0 3px $gray-900;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.taxonomy-count,
|
||||||
|
.taxonomy-label {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.taxonomy-terms-article {
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
|
||||||
|
.taxonomy-title {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.taxonomy-taxonomy-page {
|
||||||
|
max-width: 800px;
|
||||||
|
margin: auto;
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
margin-bottom: 1em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.article-meta {
|
||||||
|
margin-bottom: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.article-teaser.article-type-docs h3 a:before {
|
||||||
|
display: inline-block;
|
||||||
|
font-style: normal;
|
||||||
|
font-variant: normal;
|
||||||
|
text-rendering: auto;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
font-family: $font-awesome-font-name;
|
||||||
|
content: "\f02d";
|
||||||
|
padding-right: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.article-teaser.article-type-blog h3 a:before {
|
||||||
|
display: inline-block;
|
||||||
|
font-style: normal;
|
||||||
|
font-variant: normal;
|
||||||
|
text-rendering: auto;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
font-family: $font-awesome-font-name;
|
||||||
|
content: "\f781";
|
||||||
|
padding-right: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.all-taxonomy-terms {
|
||||||
|
font-weight: 500;
|
||||||
|
line-height: 1.2;
|
||||||
|
font-size: 1.5rem;
|
||||||
|
|
||||||
|
&:before {
|
||||||
|
display: inline-block;
|
||||||
|
font-style: normal;
|
||||||
|
font-variant: normal;
|
||||||
|
text-rendering: auto;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
font-family: $font-awesome-font-name;
|
||||||
|
content: "\f122";
|
||||||
|
padding-right: 0.5em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.article-teaser {
|
||||||
|
&.card {
|
||||||
|
padding: 1em;
|
||||||
|
margin-bottom: 1.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.breadcrumb {
|
||||||
|
margin-bottom: 0em;
|
||||||
|
font-size: 0.85rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.article-meta {
|
||||||
|
margin-bottom: 0em;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,92 @@
|
||||||
|
// Bootstrap options
|
||||||
|
|
||||||
|
$enable-gradients: true !default;
|
||||||
|
$enable-shadows: true !default;
|
||||||
|
|
||||||
|
// Theme colors
|
||||||
|
|
||||||
|
// TODO: consider moving all of these theme-color definitions into the User
|
||||||
|
// Guide SCSS, or declare theme here, but namespaced:
|
||||||
|
|
||||||
|
$primary: #30638e !default;
|
||||||
|
$secondary: #ffa630 !default;
|
||||||
|
$success: #3772ff !default;
|
||||||
|
$info: #c0e0de !default;
|
||||||
|
$warning: #ed6a5a !default;
|
||||||
|
$danger: #ed6a5a !default;
|
||||||
|
$light: #d3f3ee !default; // TODO: consider using BS value
|
||||||
|
$dark: #403f4c !default; // TODO: consider using BS value
|
||||||
|
|
||||||
|
$code-color: shade-color($secondary, 40%) !default;
|
||||||
|
|
||||||
|
// UI element colors
|
||||||
|
|
||||||
|
$border-color: $gray-300 !default;
|
||||||
|
$td-sidebar-tree-root-color: $primary !default;
|
||||||
|
$td-sidebar-bg-color: rgba($primary, 0.03) !default;
|
||||||
|
$td-sidebar-border-color: $border-color !default;
|
||||||
|
|
||||||
|
// Background colors for the sections on home page etc. It is a paint by number
|
||||||
|
// system, starting at 0, where the number is taken from the shortcode's ordinal
|
||||||
|
// if not provided by the user. These colors are all part of the theme palette,
|
||||||
|
// but the mix is fairly random to create variation. This can be overridden by
|
||||||
|
// the project if needed.
|
||||||
|
$td-box-colors: $dark, $primary, $secondary, $info, $white, $gray-600, $success,
|
||||||
|
$warning, $dark, $danger, $primary, $secondary, $info !default;
|
||||||
|
|
||||||
|
$link-color: $blue-500 !default;
|
||||||
|
$link-shade-percentage: 30% !default;
|
||||||
|
|
||||||
|
// Fonts
|
||||||
|
|
||||||
|
$td-enable-google-fonts: true !default;
|
||||||
|
|
||||||
|
$google_font_name: "Open Sans" !default;
|
||||||
|
$google_font_family: "Open+Sans:300,300i,400,400i,700,700i" !default;
|
||||||
|
$web-font-path: "https://fonts.googleapis.com/css?family=#{$google_font_family}&display=swap";
|
||||||
|
$font-awesome-font-name: "Font Awesome 6 Free" !default;
|
||||||
|
|
||||||
|
$td-fonts-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
|
||||||
|
"Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
|
||||||
|
"Segoe UI Symbol";
|
||||||
|
|
||||||
|
@if $td-enable-google-fonts {
|
||||||
|
$td-fonts-serif: join("#{$google_font_name}", $td-fonts-serif);
|
||||||
|
}
|
||||||
|
|
||||||
|
$font-family-sans-serif: $td-fonts-serif !default; // TODO: consider moving into UG SCSS or namespace the var (td-)
|
||||||
|
|
||||||
|
$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas,
|
||||||
|
"Liberation Mono", "Courier New", monospace !default; // TODO: consider moving into UG SCSS or namespace the var (td-)
|
||||||
|
$font-family-base: $font-family-sans-serif !default; // TODO: consider moving into UG SCSS or namespace the var (td-)
|
||||||
|
|
||||||
|
// Font weights
|
||||||
|
|
||||||
|
$font-weight-medium: 500 !default; // TODO: move into var forward file after upgrading BS to v5.3+
|
||||||
|
|
||||||
|
$font-weight-body-text: $font-weight-normal !default;
|
||||||
|
|
||||||
|
// Heading sizes
|
||||||
|
|
||||||
|
$h3-font-size: $font-size-base * 1.5 !default; // TODO: consider using BS default (* 1.75), or moving into UG SCSS
|
||||||
|
$h4-font-size: $font-size-base * 1.35 !default; // TODO: consider using BS default (* 1.5), or moving into UG SCSS
|
||||||
|
$h5-font-size: $font-size-base * 1.15 !default; // TODO: consider using BS default (* 1.25), or moving into UG SCSS
|
||||||
|
|
||||||
|
// Space
|
||||||
|
|
||||||
|
$td-block-space-top-base: 4 * $spacer !default;
|
||||||
|
$td-block-space-bottom-base: 4 * $spacer !default;
|
||||||
|
|
||||||
|
// Pagination
|
||||||
|
|
||||||
|
$pagination-color: $gray-600 !default; // TODO: consider using BS default
|
||||||
|
$pagination-disabled-color: $gray-300 !default; // TODO: consider using BS default
|
||||||
|
|
||||||
|
// Navbar
|
||||||
|
|
||||||
|
$navbar-dark-color: rgba($white, 0.75) !default; // TODO: consider moving into UG SCSS
|
||||||
|
$navbar-dark-hover-color: rgba($white, 0.5) !default; // TODO: consider moving into UG SCSS
|
||||||
|
|
||||||
|
// Footer
|
||||||
|
|
||||||
|
$list-inline-padding: $spacer;
|
|
@ -0,0 +1,21 @@
|
||||||
|
// Forward declarations of variables used by _variables.scss and
|
||||||
|
// _variables_project.scss.
|
||||||
|
//
|
||||||
|
// TODO(@chalin): autogenerate the content of this file
|
||||||
|
|
||||||
|
// Bootstrap SASS variables:
|
||||||
|
|
||||||
|
$white: #fff !default;
|
||||||
|
$gray-300: #dee2e6 !default;
|
||||||
|
$gray-600: #6c757d !default;
|
||||||
|
$black: #000 !default;
|
||||||
|
|
||||||
|
$blue: #0d6efd !default;
|
||||||
|
|
||||||
|
$blue-500: $blue !default;
|
||||||
|
|
||||||
|
$font-size-base: 1rem !default;
|
||||||
|
$font-weight-normal: 400 !default;
|
||||||
|
$font-weight-bold: 700 !default;
|
||||||
|
|
||||||
|
$spacer: 1rem !default;
|
|
@ -0,0 +1,7 @@
|
||||||
|
/*
|
||||||
|
|
||||||
|
Nothing defined here. The Hugo project that uses this theme can override theme variables by adding a file to:
|
||||||
|
|
||||||
|
assets/scss/_variables_project.scss
|
||||||
|
|
||||||
|
*/
|
|
@ -0,0 +1,7 @@
|
||||||
|
@import "cover";
|
||||||
|
|
||||||
|
.td-bg-arrow {
|
||||||
|
&-wrapper {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,25 @@
|
||||||
|
// A cover block is a full size cover with a fixed background for smaller screens.
|
||||||
|
|
||||||
|
@include td-box-height-modifiers(".td-cover-block");
|
||||||
|
|
||||||
|
.td-cover-logo {
|
||||||
|
margin-right: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.td-cover-block {
|
||||||
|
position: relative;
|
||||||
|
padding-top: 5rem;
|
||||||
|
padding-bottom: 5rem;
|
||||||
|
background: {
|
||||||
|
repeat: no-repeat;
|
||||||
|
position: 50% 0;
|
||||||
|
size: cover;
|
||||||
|
}
|
||||||
|
|
||||||
|
& > .byline {
|
||||||
|
@extend .small;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 2px;
|
||||||
|
right: 4px;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,114 @@
|
||||||
|
@import "../vendor/bootstrap/scss/functions";
|
||||||
|
|
||||||
|
@import "_variables_forward";
|
||||||
|
@import "variables_project";
|
||||||
|
@import "variables";
|
||||||
|
@import "support/mixins";
|
||||||
|
|
||||||
|
@import "../vendor/bootstrap/scss/bootstrap";
|
||||||
|
@import "support/bootstrap_vers_test";
|
||||||
|
|
||||||
|
@import "../vendor/Font-Awesome/scss/fontawesome.scss";
|
||||||
|
@import "../vendor/Font-Awesome/scss/solid.scss";
|
||||||
|
@import "../vendor/Font-Awesome/scss/brands.scss";
|
||||||
|
|
||||||
|
@import "support/utilities";
|
||||||
|
@import "colors";
|
||||||
|
@import "table";
|
||||||
|
@import "boxes";
|
||||||
|
@import "blog";
|
||||||
|
@import "code";
|
||||||
|
@import "nav";
|
||||||
|
@import "sidebar-tree";
|
||||||
|
@import "sidebar-toc";
|
||||||
|
@import "breadcrumb";
|
||||||
|
@import "alerts";
|
||||||
|
@import "content";
|
||||||
|
@import "search";
|
||||||
|
@import "main-container";
|
||||||
|
@import "blocks/blocks";
|
||||||
|
@import "section-index";
|
||||||
|
@import "pageinfo";
|
||||||
|
@import "taxonomy";
|
||||||
|
@import "drawio";
|
||||||
|
@import "shortcodes";
|
||||||
|
@import "swagger";
|
||||||
|
|
||||||
|
|
||||||
|
@if $td-enable-google-fonts {
|
||||||
|
@import url($web-font-path);
|
||||||
|
}
|
||||||
|
|
||||||
|
.td-footer {
|
||||||
|
@extend .td-box--dark;
|
||||||
|
|
||||||
|
min-height: 150px;
|
||||||
|
padding-top: map-get($spacers, 5);
|
||||||
|
|
||||||
|
@include media-breakpoint-down(lg) {
|
||||||
|
min-height: 200px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* &__left { } */
|
||||||
|
|
||||||
|
&__center {
|
||||||
|
@extend .small;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__right {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__about {
|
||||||
|
font-size: initial;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__links {
|
||||||
|
&-list {
|
||||||
|
@extend .list-inline;
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
&-item {
|
||||||
|
@extend .list-inline-item;
|
||||||
|
@extend .h3;
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: inherit !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&__authors,
|
||||||
|
&__all_rights_reserved {
|
||||||
|
padding-left: map-get($spacers, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
&__all_rights_reserved {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Adjust anchors vs the fixed menu.
|
||||||
|
@include media-breakpoint-up(md) {
|
||||||
|
.td-offset-anchor:target {
|
||||||
|
display: block;
|
||||||
|
position: relative;
|
||||||
|
top: -4rem;
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2[id]:before,
|
||||||
|
h3[id]:before,
|
||||||
|
h4[id]:before,
|
||||||
|
h5[id]:before {
|
||||||
|
display: block;
|
||||||
|
content: " ";
|
||||||
|
margin-top: -5rem;
|
||||||
|
height: 5rem;
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "styles_project";
|
|
@ -0,0 +1,55 @@
|
||||||
|
body:lang(fa),
|
||||||
|
body:lang(ar),
|
||||||
|
body:lang(az),
|
||||||
|
body:lang(dv),
|
||||||
|
body:lang(he),
|
||||||
|
body:lang(ku),
|
||||||
|
body:lang(ur) {
|
||||||
|
@import "spacing";
|
||||||
|
|
||||||
|
direction: rtl;
|
||||||
|
text-align: right;
|
||||||
|
|
||||||
|
.dropdown-menu {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-right {
|
||||||
|
text-align: left !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre {
|
||||||
|
text-align: left;
|
||||||
|
direction: ltr;
|
||||||
|
}
|
||||||
|
|
||||||
|
.td-rss-button {
|
||||||
|
left: 1rem !important;
|
||||||
|
right: auto !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
body:lang(fa) {
|
||||||
|
@import url("https://cdn.jsdelivr.net/gh/rastikerdar/vazir-font@v27.0.1/dist/font-face.css");
|
||||||
|
font-family: "Vazir", "Open Sans", -apple-system, BlinkMacSystemFont,
|
||||||
|
"Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji",
|
||||||
|
"Segoe UI Emoji", "Segoe UI Symbol";
|
||||||
|
}
|
||||||
|
|
||||||
|
body:lang(he) {
|
||||||
|
@if $td-enable-google-fonts {
|
||||||
|
@import url("https://fonts.googleapis.com/css2?family=Rubik:wght@300;400;500;600;700&display=swap");
|
||||||
|
}
|
||||||
|
font-family: "Rubik", "Open Sans", -apple-system, BlinkMacSystemFont,
|
||||||
|
"Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji",
|
||||||
|
"Segoe UI Emoji", "Segoe UI Symbol";
|
||||||
|
}
|
||||||
|
|
||||||
|
body:lang(ar) {
|
||||||
|
@if $td-enable-google-fonts {
|
||||||
|
@import url("https://fonts.googleapis.com/css2?family=Tajawal:wght@300;400;500;700&display=swap");
|
||||||
|
}
|
||||||
|
font-family: "Tajawal", "Open Sans", -apple-system, BlinkMacSystemFont,
|
||||||
|
"Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji",
|
||||||
|
"Segoe UI Emoji", "Segoe UI Symbol";
|
||||||
|
}
|
|
@ -0,0 +1,87 @@
|
||||||
|
@each $breakpoint in map-keys($grid-breakpoints) {
|
||||||
|
@include media-breakpoint-up($breakpoint) {
|
||||||
|
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
|
||||||
|
|
||||||
|
@each $prop, $abbrev in (margin: m, padding: p) {
|
||||||
|
@each $size, $length in $spacers {
|
||||||
|
.#{$abbrev}#{$infix}-#{$size} {
|
||||||
|
#{$prop}: $length !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.#{$abbrev}t#{$infix}-#{$size},
|
||||||
|
.#{$abbrev}y#{$infix}-#{$size} {
|
||||||
|
#{$prop}-top: $length !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.#{$abbrev}r#{$infix}-#{$size},
|
||||||
|
.#{$abbrev}x#{$infix}-#{$size} {
|
||||||
|
#{$prop}-inline-end: $length !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.#{$abbrev}b#{$infix}-#{$size},
|
||||||
|
.#{$abbrev}y#{$infix}-#{$size} {
|
||||||
|
#{$prop}-bottom: $length !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.#{$abbrev}l#{$infix}-#{$size},
|
||||||
|
.#{$abbrev}x#{$infix}-#{$size} {
|
||||||
|
#{$prop}-inline-start: $length !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)
|
||||||
|
@each $size, $length in $spacers {
|
||||||
|
@if $size !=0 {
|
||||||
|
.m#{$infix}-n#{$size} {
|
||||||
|
margin: -$length !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mt#{$infix}-n#{$size},
|
||||||
|
.my#{$infix}-n#{$size} {
|
||||||
|
margin-top: -$length !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mr#{$infix}-n#{$size},
|
||||||
|
.mx#{$infix}-n#{$size} {
|
||||||
|
margin-right: -$length !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mb#{$infix}-n#{$size},
|
||||||
|
.my#{$infix}-n#{$size} {
|
||||||
|
margin-bottom: -$length !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ml#{$infix}-n#{$size},
|
||||||
|
.mx#{$infix}-n#{$size} {
|
||||||
|
margin-left: -$length !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Some special margin utils
|
||||||
|
.m#{$infix}-auto {
|
||||||
|
margin: auto !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mt#{$infix}-auto,
|
||||||
|
.my#{$infix}-auto {
|
||||||
|
margin-top: auto !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mr#{$infix}-auto,
|
||||||
|
.mx#{$infix}-auto {
|
||||||
|
margin-right: auto !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mb#{$infix}-auto,
|
||||||
|
.my#{$infix}-auto {
|
||||||
|
margin-bottom: auto !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ml#{$infix}-auto,
|
||||||
|
.mx#{$infix}-auto {
|
||||||
|
margin-left: auto !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
.section-index {
|
||||||
|
.entry {
|
||||||
|
padding: 0.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
h5 {
|
||||||
|
margin-bottom: 0;
|
||||||
|
|
||||||
|
a {
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,2 @@
|
||||||
|
@import "shortcodes/tabbed-pane.scss";
|
||||||
|
@import "shortcodes/cards-pane.scss";
|
|
@ -0,0 +1,26 @@
|
||||||
|
.td-card-group.card-group {
|
||||||
|
@extend .td-max-width-on-larger-screens;
|
||||||
|
}
|
||||||
|
|
||||||
|
.td-card {
|
||||||
|
&.card {
|
||||||
|
@extend .td-max-width-on-larger-screens;
|
||||||
|
|
||||||
|
.highlight {
|
||||||
|
border: none;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-body {
|
||||||
|
&.code {
|
||||||
|
background-color: #f8f9fa;
|
||||||
|
padding: 0 0 0 1ex;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0 1rem 1rem 1rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,43 @@
|
||||||
|
// Only constrain max-width for top-level tabbed panes not, e.g., those in lists.
|
||||||
|
.td-content > .tab-content .tab-pane {
|
||||||
|
@extend .td-max-width-on-larger-screens;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-content {
|
||||||
|
.tab-pane {
|
||||||
|
.highlight {
|
||||||
|
margin: 0;
|
||||||
|
border: none;
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
margin-top: 0rem;
|
||||||
|
margin-bottom: 1.5rem;
|
||||||
|
border-left: 1px solid rgba(0, 0, 0, 0.125);
|
||||||
|
border-right: 1px solid rgba(0, 0, 0, 0.125);
|
||||||
|
border-bottom: 1px solid rgba(0, 0, 0, 0.125);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-body {
|
||||||
|
font-weight: $font-weight-medium;
|
||||||
|
background: $gray-100;
|
||||||
|
color: inherit;
|
||||||
|
border-radius: 0;
|
||||||
|
padding: 1.5rem;
|
||||||
|
|
||||||
|
> :last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
> .highlight:only-child {
|
||||||
|
margin: -1.5rem;
|
||||||
|
max-width: calc(100% + 3rem);
|
||||||
|
}
|
||||||
|
|
||||||
|
@each $color, $value in $theme-colors {
|
||||||
|
&-#{$color} {
|
||||||
|
border-style: solid;
|
||||||
|
border-color: $value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
8
_vendor/github.com/google/docsy/assets/scss/support/_bootstrap_vers_test.scss
generated
Normal file
8
_vendor/github.com/google/docsy/assets/scss/support/_bootstrap_vers_test.scss
generated
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
$enable-important-utilities: null !default;
|
||||||
|
@if $enable-important-utilities == null {
|
||||||
|
@error "\
|
||||||
|
Docsy requires Bootstrap v5, but the v5 variable \
|
||||||
|
$enable-important-utilities isn't defined. \
|
||||||
|
Did you forget to update Docsy dependencies?\
|
||||||
|
";
|
||||||
|
}
|
|
@ -0,0 +1,55 @@
|
||||||
|
// Mixins
|
||||||
|
|
||||||
|
@mixin link-decoration($base: none, $focus_or_hover: initial) {
|
||||||
|
a {
|
||||||
|
text-decoration: $base;
|
||||||
|
|
||||||
|
&:focus,
|
||||||
|
&:hover {
|
||||||
|
text-decoration: $focus_or_hover;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-link {
|
||||||
|
text-decoration: $base;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin link-variant($parent, $color, $hover-color, $underline: false) {
|
||||||
|
#{$parent} {
|
||||||
|
color: $color;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
color: $hover-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
@if $underline {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin optional-at-root($sel) {
|
||||||
|
@at-root #{if(not &, $sel, selector-append(&, $sel))} {
|
||||||
|
@content;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// placeholder allows styling of the placeholder used in search input etc.
|
||||||
|
@mixin placeholder {
|
||||||
|
@include optional-at-root("::-webkit-input-placeholder") {
|
||||||
|
@content;
|
||||||
|
}
|
||||||
|
|
||||||
|
@include optional-at-root(":-moz-placeholder") {
|
||||||
|
@content;
|
||||||
|
}
|
||||||
|
|
||||||
|
@include optional-at-root("::-moz-placeholder") {
|
||||||
|
@content;
|
||||||
|
}
|
||||||
|
|
||||||
|
@include optional-at-root(":-ms-input-placeholder") {
|
||||||
|
@content;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,52 @@
|
||||||
|
// Common utility classes
|
||||||
|
|
||||||
|
.td-border-top {
|
||||||
|
border: none;
|
||||||
|
border-top: 1px solid #eee;
|
||||||
|
}
|
||||||
|
|
||||||
|
.td-border-none {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.td-block-padding {
|
||||||
|
padding-top: $td-block-space-top-base;
|
||||||
|
padding-bottom: $td-block-space-bottom-base;
|
||||||
|
|
||||||
|
@include media-breakpoint-up(md) {
|
||||||
|
padding-top: $td-block-space-top-base * 1.25;
|
||||||
|
padding-bottom: $td-block-space-bottom-base * 1.25;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.td-overlay {
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
&::after {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
&--dark::after {
|
||||||
|
background-color: rgba($dark, 0.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
&--light::after {
|
||||||
|
background-color: rgba($light, 0.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
&__inner {
|
||||||
|
position: relative;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.td-max-width-on-larger-screens {
|
||||||
|
@include media-breakpoint-up(lg) {
|
||||||
|
max-width: 80%;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,16 @@
|
||||||
|
---
|
||||||
|
title: "Long Page Title"
|
||||||
|
linkTitle: "Short Nav Title"
|
||||||
|
weight: 100
|
||||||
|
description: >-
|
||||||
|
Page description for heading and indexes.
|
||||||
|
---
|
||||||
|
|
||||||
|
## Heading
|
||||||
|
|
||||||
|
Edit this template to create your new page.
|
||||||
|
|
||||||
|
* Give it a good name, ending in `.md` - e.g. `getting-started.md`
|
||||||
|
* Edit the "front matter" section at the top of the page (weight controls how its ordered amongst other pages in the same directory; lowest number first).
|
||||||
|
* Add a good commit message at the bottom of the page (<80 characters; use the extended description field for more detail).
|
||||||
|
* Create a new branch so you can preview your new file and request a review via Pull Request.
|
|
@ -0,0 +1,2 @@
|
||||||
|
This folder was added in order to work around a known bug in Go’s module management.
|
||||||
|
For details, please refer to: https://github.com/golang/go/issues/37397
|
3
_vendor/github.com/google/docsy/dependencies/assets/bootstrap/scss/_vendor/README.txt
generated
Normal file
3
_vendor/github.com/google/docsy/dependencies/assets/bootstrap/scss/_vendor/README.txt
generated
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
This file belongs to bootstrap framework:
|
||||||
|
|
||||||
|
https://raw.githubusercontent.com/twbs/bootstrap/v4.6.1/scss/vendor/_rfs.scss
|
228
_vendor/github.com/google/docsy/dependencies/assets/bootstrap/scss/_vendor/_rfs.scss
generated
Normal file
228
_vendor/github.com/google/docsy/dependencies/assets/bootstrap/scss/_vendor/_rfs.scss
generated
Normal file
|
@ -0,0 +1,228 @@
|
||||||
|
// stylelint-disable property-blacklist, scss/dollar-variable-default
|
||||||
|
|
||||||
|
// SCSS RFS mixin
|
||||||
|
//
|
||||||
|
// Automated responsive font sizes
|
||||||
|
//
|
||||||
|
// Licensed under MIT (https://github.com/twbs/rfs/blob/v8.x/LICENSE)
|
||||||
|
|
||||||
|
// Configuration
|
||||||
|
|
||||||
|
// Base font size
|
||||||
|
$rfs-base-font-size: 1.25rem !default;
|
||||||
|
$rfs-font-size-unit: rem !default;
|
||||||
|
|
||||||
|
@if $rfs-font-size-unit != rem and $rfs-font-size-unit != px {
|
||||||
|
@error "`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Breakpoint at where font-size starts decreasing if screen width is smaller
|
||||||
|
$rfs-breakpoint: 1200px !default;
|
||||||
|
$rfs-breakpoint-unit: px !default;
|
||||||
|
|
||||||
|
@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {
|
||||||
|
@error "`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Resize font size based on screen height and width
|
||||||
|
$rfs-two-dimensional: false !default;
|
||||||
|
|
||||||
|
// Factor of decrease
|
||||||
|
$rfs-factor: 10 !default;
|
||||||
|
|
||||||
|
@if type-of($rfs-factor) != "number" or $rfs-factor <= 1 {
|
||||||
|
@error "`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Generate enable or disable classes. Possibilities: false, "enable" or "disable"
|
||||||
|
$rfs-class: false !default;
|
||||||
|
|
||||||
|
// 1 rem = $rfs-rem-value px
|
||||||
|
$rfs-rem-value: 16 !default;
|
||||||
|
|
||||||
|
// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14
|
||||||
|
$rfs-safari-iframe-resize-bug-fix: false !default;
|
||||||
|
|
||||||
|
// Disable RFS by setting $enable-responsive-font-sizes to false
|
||||||
|
$enable-responsive-font-sizes: true !default;
|
||||||
|
|
||||||
|
// Cache $rfs-base-font-size unit
|
||||||
|
$rfs-base-font-size-unit: unit($rfs-base-font-size);
|
||||||
|
|
||||||
|
@function divide($dividend, $divisor, $precision: 10) {
|
||||||
|
$sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1);
|
||||||
|
$dividend: abs($dividend);
|
||||||
|
$divisor: abs($divisor);
|
||||||
|
@if $dividend == 0 {
|
||||||
|
@return 0;
|
||||||
|
}
|
||||||
|
@if $divisor == 0 {
|
||||||
|
@error "Cannot divide by 0";
|
||||||
|
}
|
||||||
|
$remainder: $dividend;
|
||||||
|
$result: 0;
|
||||||
|
$factor: 10;
|
||||||
|
@while ($remainder > 0 and $precision >= 0) {
|
||||||
|
$quotient: 0;
|
||||||
|
@while ($remainder >= $divisor) {
|
||||||
|
$remainder: $remainder - $divisor;
|
||||||
|
$quotient: $quotient + 1;
|
||||||
|
}
|
||||||
|
$result: $result * 10 + $quotient;
|
||||||
|
$factor: $factor * .1;
|
||||||
|
$remainder: $remainder * 10;
|
||||||
|
$precision: $precision - 1;
|
||||||
|
@if ($precision < 0 and $remainder >= $divisor * 5) {
|
||||||
|
$result: $result + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$result: $result * $factor * $sign;
|
||||||
|
$dividend-unit: unit($dividend);
|
||||||
|
$divisor-unit: unit($divisor);
|
||||||
|
$unit-map: (
|
||||||
|
"px": 1px,
|
||||||
|
"rem": 1rem,
|
||||||
|
"em": 1em,
|
||||||
|
"%": 1%
|
||||||
|
);
|
||||||
|
@if ($dividend-unit != $divisor-unit and map-has-key($unit-map, $dividend-unit)) {
|
||||||
|
$result: $result * map-get($unit-map, $dividend-unit);
|
||||||
|
}
|
||||||
|
@return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Remove px-unit from $rfs-base-font-size for calculations
|
||||||
|
@if $rfs-base-font-size-unit == "px" {
|
||||||
|
$rfs-base-font-size: divide($rfs-base-font-size, $rfs-base-font-size * 0 + 1);
|
||||||
|
}
|
||||||
|
@else if $rfs-base-font-size-unit == "rem" {
|
||||||
|
$rfs-base-font-size: divide($rfs-base-font-size, divide($rfs-base-font-size * 0 + 1, $rfs-rem-value));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Cache $rfs-breakpoint unit to prevent multiple calls
|
||||||
|
$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);
|
||||||
|
|
||||||
|
// Remove unit from $rfs-breakpoint for calculations
|
||||||
|
@if $rfs-breakpoint-unit-cache == "px" {
|
||||||
|
$rfs-breakpoint: divide($rfs-breakpoint, $rfs-breakpoint * 0 + 1);
|
||||||
|
}
|
||||||
|
@else if $rfs-breakpoint-unit-cache == "rem" or $rfs-breakpoint-unit-cache == "em" {
|
||||||
|
$rfs-breakpoint: divide($rfs-breakpoint, divide($rfs-breakpoint * 0 + 1, $rfs-rem-value));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Internal mixin that adds disable classes to the selector if needed.
|
||||||
|
@mixin _rfs-disable-class {
|
||||||
|
@if $rfs-class == "disable" {
|
||||||
|
// Adding an extra class increases specificity, which prevents the media query to override the font size
|
||||||
|
&,
|
||||||
|
.disable-responsive-font-size &,
|
||||||
|
&.disable-responsive-font-size {
|
||||||
|
@content;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@else {
|
||||||
|
@content;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Internal mixin that adds enable classes to the selector if needed.
|
||||||
|
@mixin _rfs-enable-class {
|
||||||
|
@if $rfs-class == "enable" {
|
||||||
|
.enable-responsive-font-size &,
|
||||||
|
&.enable-responsive-font-size {
|
||||||
|
@content;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@else {
|
||||||
|
@content;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Internal mixin used to determine which media query needs to be used
|
||||||
|
@mixin _rfs-media-query($mq-value) {
|
||||||
|
@if $rfs-two-dimensional {
|
||||||
|
@media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {
|
||||||
|
@content;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@else {
|
||||||
|
@media (max-width: #{$mq-value}) {
|
||||||
|
@content;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Responsive font size mixin
|
||||||
|
@mixin rfs($fs, $important: false) {
|
||||||
|
// Cache $fs unit
|
||||||
|
$fs-unit: if(type-of($fs) == "number", unit($fs), false);
|
||||||
|
|
||||||
|
// Add !important suffix if needed
|
||||||
|
$rfs-suffix: if($important, " !important", "");
|
||||||
|
|
||||||
|
// If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value
|
||||||
|
@if not $fs-unit or $fs-unit != "" and $fs-unit != "px" and $fs-unit != "rem" or $fs == 0 {
|
||||||
|
font-size: #{$fs}#{$rfs-suffix};
|
||||||
|
}
|
||||||
|
@else {
|
||||||
|
// Remove unit from $fs for calculations
|
||||||
|
@if $fs-unit == "px" {
|
||||||
|
$fs: divide($fs, $fs * 0 + 1);
|
||||||
|
}
|
||||||
|
@else if $fs-unit == "rem" {
|
||||||
|
$fs: divide($fs, divide($fs * 0 + 1, $rfs-rem-value));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set default font size
|
||||||
|
$rfs-static: if($rfs-font-size-unit == rem, #{divide($fs, $rfs-rem-value)}rem, #{$fs}px);
|
||||||
|
|
||||||
|
// Only add the media query if the font size is bigger than the minimum font size
|
||||||
|
@if $fs <= $rfs-base-font-size or not $enable-responsive-font-sizes {
|
||||||
|
font-size: #{$rfs-static}#{$rfs-suffix};
|
||||||
|
}
|
||||||
|
@else {
|
||||||
|
// Calculate the minimum font size for $fs
|
||||||
|
$fs-min: $rfs-base-font-size + divide($fs - $rfs-base-font-size, $rfs-factor);
|
||||||
|
|
||||||
|
// Calculate difference between $fs and the minimum font size
|
||||||
|
$fs-diff: $fs - $fs-min;
|
||||||
|
|
||||||
|
// Base font-size formatting
|
||||||
|
$min-width: if($rfs-font-size-unit == rem, #{divide($fs-min, $rfs-rem-value)}rem, #{$fs-min}px);
|
||||||
|
|
||||||
|
// Use `vmin` if two-dimensional is enabled
|
||||||
|
$variable-unit: if($rfs-two-dimensional, vmin, vw);
|
||||||
|
|
||||||
|
// Calculate the variable width between 0 and $rfs-breakpoint
|
||||||
|
$variable-width: #{divide($fs-diff * 100, $rfs-breakpoint)}#{$variable-unit};
|
||||||
|
|
||||||
|
// Set the calculated font-size
|
||||||
|
$rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};
|
||||||
|
|
||||||
|
// Breakpoint formatting
|
||||||
|
$mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{divide($rfs-breakpoint, $rfs-rem-value)}#{$rfs-breakpoint-unit});
|
||||||
|
|
||||||
|
@include _rfs-disable-class {
|
||||||
|
font-size: #{$rfs-static}#{$rfs-suffix};
|
||||||
|
}
|
||||||
|
|
||||||
|
@include _rfs-media-query($mq-value) {
|
||||||
|
@include _rfs-enable-class {
|
||||||
|
font-size: $rfs-fluid;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Include safari iframe resize fix if needed
|
||||||
|
min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// The font-size & responsive-font-size mixins use RFS to rescale the font size
|
||||||
|
@mixin font-size($fs, $important: false) {
|
||||||
|
@include rfs($fs, $important);
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin responsive-font-size($fs, $important: false) {
|
||||||
|
@include rfs($fs, $important);
|
||||||
|
}
|
|
@ -0,0 +1,42 @@
|
||||||
|
[module]
|
||||||
|
_merge = "deep"
|
||||||
|
# work around https://github.com/golang/go/issues/37397
|
||||||
|
[[module.mounts]]
|
||||||
|
source = "assets/bootstrap/scss/_vendor"
|
||||||
|
target = "assets/vendor/bootstrap/scss/vendor"
|
||||||
|
# mount asserts directory
|
||||||
|
[[module.mounts]]
|
||||||
|
source = "assets"
|
||||||
|
target = "assets"
|
||||||
|
# mount i18n directory
|
||||||
|
[[module.mounts]]
|
||||||
|
source = "i18n"
|
||||||
|
target = "i18n"
|
||||||
|
# mount layouts directory
|
||||||
|
[[module.mounts]]
|
||||||
|
source = "layouts"
|
||||||
|
target = "layouts"
|
||||||
|
# mount static directory
|
||||||
|
[[module.mounts]]
|
||||||
|
source = "static"
|
||||||
|
target = "static"
|
||||||
|
# Dependencies are brought in as modules
|
||||||
|
# and mount points are declared
|
||||||
|
[[module.imports]]
|
||||||
|
path = "github.com/twbs/bootstrap"
|
||||||
|
disable = false
|
||||||
|
[[module.imports.mounts]]
|
||||||
|
source = "scss"
|
||||||
|
target = "assets/vendor/bootstrap/scss"
|
||||||
|
[[module.imports.mounts]]
|
||||||
|
source = "dist/js"
|
||||||
|
target = "assets/vendor/bootstrap/dist/js"
|
||||||
|
[[module.imports]]
|
||||||
|
path = "github.com/FortAwesome/Font-Awesome"
|
||||||
|
disable = false
|
||||||
|
[[module.imports.mounts]]
|
||||||
|
source = "scss"
|
||||||
|
target = "assets/vendor/Font-Awesome/scss"
|
||||||
|
[[module.imports.mounts]]
|
||||||
|
source = "webfonts"
|
||||||
|
target = "static/webfonts"
|
|
@ -0,0 +1,63 @@
|
||||||
|
# Docsy config
|
||||||
|
#
|
||||||
|
# cSpell:ignore docsy fortawesome fontawesome webfonts
|
||||||
|
|
||||||
|
params:
|
||||||
|
time_format_blog: Monday, January 02, 2006
|
||||||
|
time_format_default: January 2, 2006
|
||||||
|
rss_sections: [blog]
|
||||||
|
|
||||||
|
outputFormats:
|
||||||
|
PRINT:
|
||||||
|
baseName: index
|
||||||
|
isHTML: true
|
||||||
|
mediaType: text/html
|
||||||
|
path: _print
|
||||||
|
permalinkable: false
|
||||||
|
|
||||||
|
module:
|
||||||
|
hugoVersion:
|
||||||
|
extended: true
|
||||||
|
min: 0.110.0
|
||||||
|
mounts:
|
||||||
|
- source: assets
|
||||||
|
target: assets
|
||||||
|
- source: node_modules/bootstrap
|
||||||
|
target: assets/vendor/bootstrap
|
||||||
|
- source: node_modules/@fortawesome/fontawesome-free
|
||||||
|
target: assets/vendor/Font-Awesome
|
||||||
|
- source: i18n
|
||||||
|
target: i18n
|
||||||
|
- source: layouts
|
||||||
|
target: layouts
|
||||||
|
- source: static
|
||||||
|
target: static
|
||||||
|
- source: node_modules/@fortawesome/fontawesome-free/webfonts
|
||||||
|
target: static/webfonts
|
||||||
|
# Mounts for projects using Docsy as an NPM package. The source path prefix
|
||||||
|
# "../.." moves out of themes/docsy so that Docsy can find its dependencies.
|
||||||
|
- source: ../../node_modules/bootstrap
|
||||||
|
target: assets/vendor/bootstrap
|
||||||
|
- source: ../../node_modules/@fortawesome/fontawesome-free
|
||||||
|
target: assets/vendor/Font-Awesome
|
||||||
|
- source: ../../node_modules/@fortawesome/fontawesome-free/webfonts
|
||||||
|
target: static/webfonts
|
||||||
|
# Mounts for module installations,
|
||||||
|
# needed to work around a known bug in Go’s module management.
|
||||||
|
- source: assets/_vendor/bootstrap/scss/
|
||||||
|
target: assets/vendor/bootstrap/scss/vendor
|
||||||
|
imports:
|
||||||
|
- path: github.com/twbs/bootstrap
|
||||||
|
disable: false
|
||||||
|
mounts:
|
||||||
|
- source: scss
|
||||||
|
target: assets/vendor/bootstrap/scss
|
||||||
|
- source: dist/js
|
||||||
|
target: assets/vendor/bootstrap/dist/js
|
||||||
|
- path: github.com/FortAwesome/Font-Awesome
|
||||||
|
disable: false
|
||||||
|
mounts:
|
||||||
|
- source: scss
|
||||||
|
target: assets/vendor/Font-Awesome/scss
|
||||||
|
- source: webfonts
|
||||||
|
target: static/webfonts
|
|
@ -0,0 +1,80 @@
|
||||||
|
# UI strings. Buttons and similar.
|
||||||
|
|
||||||
|
[ui_pager_prev]
|
||||||
|
other = "السابق"
|
||||||
|
|
||||||
|
[ui_pager_next]
|
||||||
|
other = "التالي"
|
||||||
|
|
||||||
|
[ui_read_more]
|
||||||
|
other = "إقرأ المزيد"
|
||||||
|
|
||||||
|
[ui_search]
|
||||||
|
other = "ابحث في هذا الموقع"
|
||||||
|
|
||||||
|
# Used in sentences such as "Posted in News"
|
||||||
|
[ui_in]
|
||||||
|
other = "في"
|
||||||
|
# Used in sentences such as "All Tags"
|
||||||
|
[ui_all]
|
||||||
|
other = "كل"
|
||||||
|
|
||||||
|
# Footer text
|
||||||
|
[footer_all_rights_reserved]
|
||||||
|
other = "كافة الحقوق محفوظة"
|
||||||
|
|
||||||
|
[footer_privacy_policy]
|
||||||
|
other = "سياسة الخصوصية"
|
||||||
|
|
||||||
|
|
||||||
|
# Post (blog, articles etc.)
|
||||||
|
[post_byline_by]
|
||||||
|
other = "الكاتب"
|
||||||
|
[post_created]
|
||||||
|
other = "منشئة"
|
||||||
|
[post_last_mod]
|
||||||
|
other = "اخر تعديل"
|
||||||
|
[post_edit_this]
|
||||||
|
other = "عدل هذه الصفحة"
|
||||||
|
[post_view_this]
|
||||||
|
other = "أنظر مصدر الصفحة"
|
||||||
|
[post_create_child_page]
|
||||||
|
other = " أنشئ صفحة فرعية"
|
||||||
|
[post_create_issue]
|
||||||
|
other = "أنشئ مسألة حول الوثائق"
|
||||||
|
[post_create_project_issue]
|
||||||
|
other = "أنشئ مسألة حول المشروع"
|
||||||
|
[post_posts_in]
|
||||||
|
other = "منشور في"
|
||||||
|
[post_reading_time]
|
||||||
|
other = "دقيقة للقراءة"
|
||||||
|
[post_less_than_a_minute_read]
|
||||||
|
other = "أقل من دقيقة"
|
||||||
|
|
||||||
|
# Print support
|
||||||
|
[print_printable_section]
|
||||||
|
other = "هذا العرض يتضمن عدة صفحات للطباعة ضمن هذا القسم."
|
||||||
|
[print_click_to_print]
|
||||||
|
other = "اضغط هنا للطباعة"
|
||||||
|
[print_show_regular]
|
||||||
|
other = "العودة للعرض العادي"
|
||||||
|
[print_entire_section]
|
||||||
|
other = "اطبع القسم كاملا"
|
||||||
|
|
||||||
|
# Community
|
||||||
|
[community_join]
|
||||||
|
other = "انضم الي مجتمع {{ .Site.Title }}"
|
||||||
|
[community_introduce]
|
||||||
|
other = "{{ .Site.Title }} هو مشروع مفتوح المصدر يمكن لأي شخص في المجتمع استخدامه وتحسينه والاستمتاع به. يسعدنا أن تنضم إلينا! إليك بعض الطرق للمشاركة و معرفة ما يحدث."
|
||||||
|
[community_learn]
|
||||||
|
other = "تعلم وتواصل"
|
||||||
|
[community_using]
|
||||||
|
other = "تستخدام أو تريد استخدام {{ .Site.Title }}؟ اكتشف المزيد هنا:"
|
||||||
|
[community_develop]
|
||||||
|
other = "طور و ساهم"
|
||||||
|
[community_contribute]
|
||||||
|
other = "إذا كنت ترغب في المشاركة بشكل أكبر من خلال المساهمة في {{ .Site.Title }}, انضم إلينا هنا:"
|
||||||
|
[community_how_to]
|
||||||
|
other = "يمكنك معرفة كيفية المساهمة في {{ .Site.Title }} من خلال"
|
||||||
|
[community_guideline]
|
||||||
|
other = "إرشادات المساهمة"
|
|
@ -0,0 +1,77 @@
|
||||||
|
|
||||||
|
|
||||||
|
# UI strings. Buttons and similar.
|
||||||
|
|
||||||
|
[ui_pager_prev]
|
||||||
|
other = "Предишен"
|
||||||
|
|
||||||
|
[ui_pager_next]
|
||||||
|
other = "Следващ"
|
||||||
|
|
||||||
|
[ui_read_more]
|
||||||
|
other = "Прочети повече"
|
||||||
|
|
||||||
|
[ui_search]
|
||||||
|
other = "Търси в тази страница…"
|
||||||
|
|
||||||
|
# Used in sentences such as "Posted in News"
|
||||||
|
[ui_in]
|
||||||
|
other = "в"
|
||||||
|
|
||||||
|
# Footer text
|
||||||
|
[footer_all_rights_reserved]
|
||||||
|
other = "Всички права запазени!"
|
||||||
|
|
||||||
|
[footer_privacy_policy]
|
||||||
|
other = "Политика за поверителност"
|
||||||
|
|
||||||
|
|
||||||
|
# Post (blog, articles etc.)
|
||||||
|
[post_byline_by]
|
||||||
|
other = "От"
|
||||||
|
[post_created]
|
||||||
|
other = "Създаден"
|
||||||
|
[post_last_mod]
|
||||||
|
other = "Последна промяна"
|
||||||
|
[post_edit_this]
|
||||||
|
other = "Промени тази страница"
|
||||||
|
[post_create_child_page]
|
||||||
|
other = "Създай дъщерна страница"
|
||||||
|
[post_create_issue]
|
||||||
|
other = "Създаване на издаване на документ"
|
||||||
|
[post_create_project_issue]
|
||||||
|
other = "Създаване на издаване на проект"
|
||||||
|
[post_posts_in]
|
||||||
|
other = "Публикувано в"
|
||||||
|
[post_reading_time]
|
||||||
|
other = "minute read"
|
||||||
|
[post_less_than_a_minute_read]
|
||||||
|
other = "less than a minute"
|
||||||
|
|
||||||
|
# Print support
|
||||||
|
[print_printable_section]
|
||||||
|
other = "Изглед за печат на този раздел, в режим много страници"
|
||||||
|
[print_click_to_print]
|
||||||
|
other = "Натисни тук за отпечатване"
|
||||||
|
[print_show_regular]
|
||||||
|
other = "Върнете се към обичайния изглед на тази страница"
|
||||||
|
[print_entire_section]
|
||||||
|
other = "Отпечатайте цялата секция"
|
||||||
|
|
||||||
|
# Community
|
||||||
|
[community_join]
|
||||||
|
other = "Join the {{ .Site.Title }} community"
|
||||||
|
[community_introduce]
|
||||||
|
other = "{{ .Site.Title }} is an open source project that anyone in the community can use, improve, and enjoy. We'd love you to join us! Here's a few ways to find out what's happening and get involved."
|
||||||
|
[community_learn]
|
||||||
|
other = "Learn and Connect"
|
||||||
|
[community_using]
|
||||||
|
other = "Using or want to use {{ .Site.Title }}? Find out more here:"
|
||||||
|
[community_develop]
|
||||||
|
other = "Develop and Contribute"
|
||||||
|
[community_contribute]
|
||||||
|
other = "If you want to get more involved by contributing to {{ .Site.Title }}, join us here:"
|
||||||
|
[community_how_to]
|
||||||
|
other = "You can find out how to contribute to {{ .Site.Title }} in our"
|
||||||
|
[community_guideline]
|
||||||
|
other = "Contribution Guidelines"
|
|
@ -0,0 +1,81 @@
|
||||||
|
# ইউআই স্ট্রিং বাটন এবং অনুরূপ।
|
||||||
|
|
||||||
|
[ui_pager_prev]
|
||||||
|
other = "পূর্ববর্তী"
|
||||||
|
|
||||||
|
[ui_pager_next]
|
||||||
|
other = "পরবর্তী"
|
||||||
|
|
||||||
|
[ui_read_more]
|
||||||
|
other = "আরও পড়ুন"
|
||||||
|
|
||||||
|
[ui_search]
|
||||||
|
other = "এই সাইটে খোঁজ করুন…"
|
||||||
|
|
||||||
|
# "পোস্ট করা নিউজ" এর মতো বাক্যে ব্যবহৃত
|
||||||
|
[ui_in]
|
||||||
|
other = "মধ্যে"
|
||||||
|
|
||||||
|
# Used in sentences such as "All Tags"
|
||||||
|
[ui_all]
|
||||||
|
other = "সব"
|
||||||
|
|
||||||
|
# পাদচরণ
|
||||||
|
[footer_all_rights_reserved]
|
||||||
|
other = "সমস্ত অধিকার সংরক্ষিত"
|
||||||
|
|
||||||
|
[footer_privacy_policy]
|
||||||
|
other = "গোপনীয়তা নীতি"
|
||||||
|
|
||||||
|
|
||||||
|
# পোস্ট (ব্লগ, নিবন্ধ ইত্যাদি)
|
||||||
|
[post_byline_by]
|
||||||
|
other = "দ্বারা"
|
||||||
|
[post_created]
|
||||||
|
other = "তৈরি"
|
||||||
|
[post_last_mod]
|
||||||
|
other = "সর্বশেষ পরিবর্তিত"
|
||||||
|
[post_edit_this]
|
||||||
|
other = "এই পৃষ্ঠাটি সম্পাদনা করুন"
|
||||||
|
[post_view_this]
|
||||||
|
other = "পৃষ্ঠার উৎস দেখুন"
|
||||||
|
[post_create_child_page]
|
||||||
|
other = "শাখা পৃষ্ঠা তৈরি করুন"
|
||||||
|
[post_create_issue]
|
||||||
|
other = "ডকুমেন্টেশন ইস্যু তৈরি করুন"
|
||||||
|
[post_create_project_issue]
|
||||||
|
other = "প্রকল্পের সমস্যা তৈরি করুন"
|
||||||
|
[post_posts_in]
|
||||||
|
other = "পোস্ট"
|
||||||
|
[post_reading_time]
|
||||||
|
other = "পড়তে এক মিনিট"
|
||||||
|
[post_less_than_a_minute_read]
|
||||||
|
other = "পড়তে এক মিনিটেরও কম সময় লাগবে"
|
||||||
|
|
||||||
|
# মুদ্রণ সমর্থন
|
||||||
|
[print_printable_section]
|
||||||
|
other = "এটি এই বিভাগটির বহু পৃষ্ঠার মুদ্রণযোগ্য দর্শন।"
|
||||||
|
[print_click_to_print]
|
||||||
|
other = "মুদ্রণ করতে এখানে ক্লিক করুন"
|
||||||
|
[print_show_regular]
|
||||||
|
other = "এই পৃষ্ঠার নিয়মিত দৃশ্যে ফিরে আসুন"
|
||||||
|
[print_entire_section]
|
||||||
|
other = "পুরো বিভাগ মুদ্রণ করুন"
|
||||||
|
|
||||||
|
# Community
|
||||||
|
[community_join]
|
||||||
|
other = "যোগদান করুন {{ .Site.Title }} সম্প্রদায়ে"
|
||||||
|
[community_introduce]
|
||||||
|
other = "{{ .Site.Title }} হল একটি ওপেন সোর্স প্রকল্প যা সম্প্রদায়ের যে কেউ ব্যবহার করতে, উন্নতি করতে এবং উপভোগ করতে পারে৷ আমরা আপনাকে আমাদের সাথে দেখতে আনন্দিত হবে! এখানে আমাদের সাথে যোগ দেওয়ার কিছু উপায় রয়েছে, কী ঘটছে তা জানুন এবং জড়িত হন৷"
|
||||||
|
[community_learn]
|
||||||
|
other = "শিখুন এবং যোগদান করুন"
|
||||||
|
[community_using]
|
||||||
|
other = "ইতিমধ্যে {{ .Site.Title }} ব্যবহার করছেন বা ব্যবহার করতে চান? ? এখানে আরো জানুন:"
|
||||||
|
[community_develop]
|
||||||
|
other = "বিকাশ এবং অবদান"
|
||||||
|
[community_contribute]
|
||||||
|
other = "আপনি যদি {{ .Site.Title }} এ অবদান রেখে আরও জড়িত হতে চান, তবে এখানে আমাদের সাথে যোগ দিন:"
|
||||||
|
[community_how_to]
|
||||||
|
other = "আপনি আমাদের এ এই নথিগুলিতে কীভাবে অবদান রাখবেন তা খুঁজে পেতে পারেন"
|
||||||
|
[community_guideline]
|
||||||
|
other = "অবদান নির্দেশিকা"
|
|
@ -0,0 +1,91 @@
|
||||||
|
# UI strings. Buttons and similar.
|
||||||
|
|
||||||
|
[ui_pager_prev]
|
||||||
|
other = "Zurück"
|
||||||
|
|
||||||
|
[ui_pager_next]
|
||||||
|
other = "Weiter"
|
||||||
|
|
||||||
|
[ui_read_more]
|
||||||
|
other = "Weiterlesen"
|
||||||
|
|
||||||
|
[ui_search]
|
||||||
|
other = "Diese Seite durchsuchen…"
|
||||||
|
|
||||||
|
# Used in sentences such as "Posted in News"
|
||||||
|
[ui_in]
|
||||||
|
other = "in"
|
||||||
|
|
||||||
|
# Used in sentences such as "All Tags"
|
||||||
|
[ui_all]
|
||||||
|
other = "alle"
|
||||||
|
|
||||||
|
# Footer text
|
||||||
|
[footer_all_rights_reserved]
|
||||||
|
other = "Alle Rechte vorbehalten"
|
||||||
|
|
||||||
|
[footer_privacy_policy]
|
||||||
|
other = "Datenschutzrichtlinie"
|
||||||
|
|
||||||
|
|
||||||
|
# Post (blog, articles etc.)
|
||||||
|
[post_byline_by]
|
||||||
|
other = "Von"
|
||||||
|
[post_created]
|
||||||
|
other = "Erstellt"
|
||||||
|
[post_last_mod]
|
||||||
|
other = "Zuletzt geändert"
|
||||||
|
[post_edit_this]
|
||||||
|
other = "Diese Seite bearbeiten"
|
||||||
|
[post_view_this]
|
||||||
|
other = "Quellcode dieser Seite ansehen"
|
||||||
|
[post_create_child_page]
|
||||||
|
other = "Unterseite anlegen"
|
||||||
|
[post_create_issue]
|
||||||
|
other = "Problem zu dieser Seite melden"
|
||||||
|
[post_create_project_issue]
|
||||||
|
other = "Problem melden"
|
||||||
|
[post_posts_in]
|
||||||
|
other = "Einträge in"
|
||||||
|
[post_reading_time]
|
||||||
|
other = "Minuten Lesezeit"
|
||||||
|
[post_less_than_a_minute_read]
|
||||||
|
other = "weniger als eine Minute"
|
||||||
|
|
||||||
|
# Print support
|
||||||
|
[print_printable_section]
|
||||||
|
other = "Das ist eine für den Ausdruck optimierte Ansicht des gesamten Kapitels inkl. Unterseiten."
|
||||||
|
[print_click_to_print]
|
||||||
|
other = "Druckvorgang starten"
|
||||||
|
[print_show_regular]
|
||||||
|
other = "Zur Standardansicht zurückkehren"
|
||||||
|
[print_entire_section]
|
||||||
|
other = "Kapitel inkl. Unterseiten drucken"
|
||||||
|
|
||||||
|
# Community
|
||||||
|
[community_join]
|
||||||
|
other = "Werde Teil der {{ .Site.Title }} Community"
|
||||||
|
[community_introduce]
|
||||||
|
other = "{{ .Site.Title }} ist ein Open Source Projekt das jedes Mitglied der Community nutzen, verbessern und genießen kann. Wir würden uns freuen, wenn Du Dich an unserem Projekt beteiligst! Nachfolgend werden einige Wege beschrieben um herauszufinden, was gerade in unserem Projekt los ist und wie Du dich aktiv beteiligen kannst."
|
||||||
|
[community_learn]
|
||||||
|
other = "Lerne und verbinde"
|
||||||
|
[community_using]
|
||||||
|
other = "Anwenden oder Anwendung eruieren {{ .Site.Title }}, Weitere Infos findest Du hier:"
|
||||||
|
[community_develop]
|
||||||
|
other = "Entwickeln und einen Beitrag leisten"
|
||||||
|
[community_contribute]
|
||||||
|
other = "Wenn Du aktiv beteiligen und einen Beitrag zu {{ .Site.Title }} leisten möchtest, kannst Du hier mitmachen:"
|
||||||
|
[community_how_to]
|
||||||
|
other = "Wie Du selbst zu {{ .Site.Title }} beitragen kannst, kannst Du nachlesen in unseren"
|
||||||
|
[community_guideline]
|
||||||
|
other = "Richtlinien für Beiträge"
|
||||||
|
|
||||||
|
# Feedback
|
||||||
|
[feedback_title]
|
||||||
|
other = "Rückmeldung"
|
||||||
|
[feedback_question]
|
||||||
|
other = "War diese Seite hilfreich?"
|
||||||
|
[feedback_positive]
|
||||||
|
other = "Ja"
|
||||||
|
[feedback_negative]
|
||||||
|
other = "Nein"
|
|
@ -0,0 +1,90 @@
|
||||||
|
# UI strings. Buttons and similar.
|
||||||
|
|
||||||
|
[ui_pager_prev]
|
||||||
|
other = "Previous"
|
||||||
|
|
||||||
|
[ui_pager_next]
|
||||||
|
other = "Next"
|
||||||
|
|
||||||
|
[ui_read_more]
|
||||||
|
other = "Read more"
|
||||||
|
|
||||||
|
[ui_search]
|
||||||
|
other = "Search this site…"
|
||||||
|
|
||||||
|
# Used in sentences such as "Posted in News"
|
||||||
|
[ui_in]
|
||||||
|
other = "in"
|
||||||
|
|
||||||
|
# Used in sentences such as "All Tags"
|
||||||
|
[ui_all]
|
||||||
|
other = "all"
|
||||||
|
|
||||||
|
# Footer text
|
||||||
|
[footer_all_rights_reserved]
|
||||||
|
other = "All Rights Reserved"
|
||||||
|
|
||||||
|
[footer_privacy_policy]
|
||||||
|
other = "Privacy Policy"
|
||||||
|
|
||||||
|
# Post (blog, articles etc.)
|
||||||
|
[post_byline_by]
|
||||||
|
other = "By"
|
||||||
|
[post_created]
|
||||||
|
other = "Created"
|
||||||
|
[post_last_mod]
|
||||||
|
other = "Last modified"
|
||||||
|
[post_edit_this]
|
||||||
|
other = "Edit this page"
|
||||||
|
[post_view_this]
|
||||||
|
other = "View page source"
|
||||||
|
[post_create_child_page]
|
||||||
|
other = "Create child page"
|
||||||
|
[post_create_issue]
|
||||||
|
other = "Create documentation issue"
|
||||||
|
[post_create_project_issue]
|
||||||
|
other = "Create project issue"
|
||||||
|
[post_posts_in]
|
||||||
|
other = "Posts in"
|
||||||
|
[post_reading_time]
|
||||||
|
other = "minute read"
|
||||||
|
[post_less_than_a_minute_read]
|
||||||
|
other = "less than a minute"
|
||||||
|
|
||||||
|
# Print support
|
||||||
|
[print_printable_section]
|
||||||
|
other = "This is the multi-page printable view of this section."
|
||||||
|
[print_click_to_print]
|
||||||
|
other = "Click here to print"
|
||||||
|
[print_show_regular]
|
||||||
|
other = "Return to the regular view of this page"
|
||||||
|
[print_entire_section]
|
||||||
|
other = "Print entire section"
|
||||||
|
|
||||||
|
# Community
|
||||||
|
[community_join]
|
||||||
|
other = "Join the {{ .Site.Title }} community"
|
||||||
|
[community_introduce]
|
||||||
|
other = "{{ .Site.Title }} is an open source project that anyone in the community can use, improve, and enjoy. We'd love you to join us! Here's a few ways to find out what's happening and get involved."
|
||||||
|
[community_learn]
|
||||||
|
other = "Learn and Connect"
|
||||||
|
[community_using]
|
||||||
|
other = "Using or want to use {{ .Site.Title }}? Find out more here:"
|
||||||
|
[community_develop]
|
||||||
|
other = "Develop and Contribute"
|
||||||
|
[community_contribute]
|
||||||
|
other = "If you want to get more involved by contributing to {{ .Site.Title }}, join us here:"
|
||||||
|
[community_how_to]
|
||||||
|
other = "You can find out how to contribute to {{ .Site.Title }} in our"
|
||||||
|
[community_guideline]
|
||||||
|
other = "Contribution Guidelines"
|
||||||
|
|
||||||
|
# Feedback
|
||||||
|
[feedback_title]
|
||||||
|
other = "Feedback"
|
||||||
|
[feedback_question]
|
||||||
|
other = "Was this page helpful?"
|
||||||
|
[feedback_positive]
|
||||||
|
other = "Yes"
|
||||||
|
[feedback_negative]
|
||||||
|
other = "No"
|
|
@ -0,0 +1,81 @@
|
||||||
|
# UI strings. Botones y similares.
|
||||||
|
|
||||||
|
[ui_pager_prev]
|
||||||
|
other = "Previo"
|
||||||
|
|
||||||
|
[ui_pager_next]
|
||||||
|
other = "Siguiente"
|
||||||
|
|
||||||
|
[ui_read_more]
|
||||||
|
other = "Continuar leyendo"
|
||||||
|
|
||||||
|
[ui_search]
|
||||||
|
other = "Buscar"
|
||||||
|
|
||||||
|
# Used in sentences such as "Posted in News"
|
||||||
|
[ui_in]
|
||||||
|
other = "en"
|
||||||
|
|
||||||
|
# Used in sentences such as "All Tags"
|
||||||
|
[ui_all]
|
||||||
|
other = "todos"
|
||||||
|
|
||||||
|
# Footer text
|
||||||
|
[footer_all_rights_reserved]
|
||||||
|
other = "Derechos reservados"
|
||||||
|
|
||||||
|
[footer_privacy_policy]
|
||||||
|
other = "Política de privacidad"
|
||||||
|
|
||||||
|
|
||||||
|
# Post (blog, articles etc.)
|
||||||
|
[post_byline_by]
|
||||||
|
other = "Por"
|
||||||
|
[post_created]
|
||||||
|
other = "Creado"
|
||||||
|
[post_last_mod]
|
||||||
|
other = "Última modificación"
|
||||||
|
[post_edit_this]
|
||||||
|
other = "Editar esta página"
|
||||||
|
[post_view_this]
|
||||||
|
other = "Ver código de la página"
|
||||||
|
[post_create_child_page]
|
||||||
|
other = "Crear página nueva"
|
||||||
|
[post_create_issue]
|
||||||
|
other = "Notificar una incidencia con la documentanción"
|
||||||
|
[post_create_project_issue]
|
||||||
|
other = "Notificar una incidencia en un proyecto"
|
||||||
|
[post_posts_in]
|
||||||
|
other = "Publicaciones en"
|
||||||
|
[post_reading_time]
|
||||||
|
other = "minutos de lectura"
|
||||||
|
[post_less_than_a_minute_read]
|
||||||
|
other = "menos de un minuto"
|
||||||
|
|
||||||
|
# Print support
|
||||||
|
[print_printable_section]
|
||||||
|
other = "Versión imprimible multipagina."
|
||||||
|
[print_click_to_print]
|
||||||
|
other = "Haga click aquí para imprimir"
|
||||||
|
[print_show_regular]
|
||||||
|
other = "Volver a la vista normal de esta página"
|
||||||
|
[print_entire_section]
|
||||||
|
other = "Imprimir la sección entera"
|
||||||
|
|
||||||
|
# Community
|
||||||
|
[community_join]
|
||||||
|
other = "Únete a la comunidad {{ .Site.Title }}"
|
||||||
|
[community_introduce]
|
||||||
|
other = "{{ .Site.Title }} es un proyecto de código abierto que cualquiera en la comunidad puede usar, mejorar y disfrutar. ¡Nos encantaría que te unas a nosotros! Aquí hay algunas maneras de averiguar lo que está sucediendo y participar."
|
||||||
|
[community_learn]
|
||||||
|
other = "Aprende y Conéctate"
|
||||||
|
[community_using]
|
||||||
|
other = "¿Usas o quieres usar {{ .Site.Title }}? Encuentra más información aquí:"
|
||||||
|
[community_develop]
|
||||||
|
other = "Desarrollar y Contribuir"
|
||||||
|
[community_contribute]
|
||||||
|
other = "Si deseas involucrarte más contribuyendo a {{ .Site.Title }}, únete a nosotros aquí:"
|
||||||
|
[community_how_to]
|
||||||
|
other = "Puedes averiguar cómo contribuir a {{ .Site.Title }} en nuestras"
|
||||||
|
[community_guideline]
|
||||||
|
other = "Guias de Contribución"
|
|
@ -0,0 +1,66 @@
|
||||||
|
|
||||||
|
# Translation into Estonian
|
||||||
|
# UI strings. Buttons and similar.
|
||||||
|
|
||||||
|
[ui_pager_prev]
|
||||||
|
other = "Eelmine"
|
||||||
|
|
||||||
|
[ui_pager_next]
|
||||||
|
other = "Järgmine"
|
||||||
|
|
||||||
|
[ui_read_more]
|
||||||
|
other = "Loe lähemalt"
|
||||||
|
|
||||||
|
[ui_search]
|
||||||
|
other = "Otsi lehelt…"
|
||||||
|
|
||||||
|
# Used in sentences such as "Posted in News"
|
||||||
|
[ui_in]
|
||||||
|
other = "kohas" # not perfect. In Estonian this idea is represented by a suffix, not a separate word.
|
||||||
|
|
||||||
|
# Footer text
|
||||||
|
[footer_all_rights_reserved]
|
||||||
|
other = "Kõik õigused kaitstud"
|
||||||
|
|
||||||
|
[footer_privacy_policy]
|
||||||
|
other = "Privaatsuspoliitika"
|
||||||
|
|
||||||
|
# Post (blog, articles etc.)
|
||||||
|
[post_byline_by]
|
||||||
|
other = "järgi" # not perfect. In Estonian this idea is represented by a suffix, not a separate word.
|
||||||
|
[post_created]
|
||||||
|
other = "Loodud"
|
||||||
|
[post_last_mod]
|
||||||
|
other = "Viimati muudetud"
|
||||||
|
[post_edit_this]
|
||||||
|
other = "Täienda lehte"
|
||||||
|
[post_create_child_page]
|
||||||
|
other = "Loo alamleht"
|
||||||
|
[post_create_issue]
|
||||||
|
other = "Tõstata dokumentatsiooni kohta ülesanne" # perhaps there is a better translation for "issue"...
|
||||||
|
[post_create_project_issue]
|
||||||
|
other = "Tõstata projekti kohta ülesanne"
|
||||||
|
[post_posts_in]
|
||||||
|
other = "Postitused" # in Estonian this "in" should be the suffix of the next word, cannot include it to that phrase.
|
||||||
|
[post_reading_time]
|
||||||
|
other = "minute read"
|
||||||
|
[post_less_than_a_minute_read]
|
||||||
|
other = "less than a minute"
|
||||||
|
|
||||||
|
# Community
|
||||||
|
[community_join]
|
||||||
|
other = "Join the {{ .Site.Title }} community"
|
||||||
|
[community_introduce]
|
||||||
|
other = "{{ .Site.Title }} is an open source project that anyone in the community can use, improve, and enjoy. We'd love you to join us! Here's a few ways to find out what's happening and get involved."
|
||||||
|
[community_learn]
|
||||||
|
other = "Learn and Connect"
|
||||||
|
[community_using]
|
||||||
|
other = "Using or want to use {{ .Site.Title }}? Find out more here:"
|
||||||
|
[community_develop]
|
||||||
|
other = "Develop and Contribute"
|
||||||
|
[community_contribute]
|
||||||
|
other = "If you want to get more involved by contributing to {{ .Site.Title }}, join us here:"
|
||||||
|
[community_how_to]
|
||||||
|
other = "You can find out how to contribute to {{ .Site.Title }} in our"
|
||||||
|
[community_guideline]
|
||||||
|
other = "Contribution Guidelines"
|
|
@ -0,0 +1,78 @@
|
||||||
|
|
||||||
|
|
||||||
|
# UI strings. Buttons and similar.
|
||||||
|
|
||||||
|
[ui_pager_prev]
|
||||||
|
other = "قبلی"
|
||||||
|
|
||||||
|
[ui_pager_next]
|
||||||
|
other = "بعدی"
|
||||||
|
|
||||||
|
[ui_read_more]
|
||||||
|
other = "بیشتر بخوانید"
|
||||||
|
|
||||||
|
[ui_search]
|
||||||
|
other = "در این سایت جستجو کنید..."
|
||||||
|
|
||||||
|
# Used in sentences such as "Posted in News"
|
||||||
|
[ui_in]
|
||||||
|
other = "در"
|
||||||
|
|
||||||
|
# Footer text
|
||||||
|
[footer_all_rights_reserved]
|
||||||
|
other = "تمام حقوق محفوظ است."
|
||||||
|
|
||||||
|
[footer_privacy_policy]
|
||||||
|
other = "سیاست حفظ حریم خصوصی"
|
||||||
|
|
||||||
|
|
||||||
|
# Post (blog, articles etc.)
|
||||||
|
[post_byline_by]
|
||||||
|
other = "توسط"
|
||||||
|
[post_created]
|
||||||
|
other = "ساخته شده"
|
||||||
|
[post_last_mod]
|
||||||
|
other = "آخرین تغییرات"
|
||||||
|
[post_edit_this]
|
||||||
|
other = "این صفحه را ویرایش کنید"
|
||||||
|
[post_create_child_page]
|
||||||
|
other = "ایجاد زیر صفحه در این صفحه"
|
||||||
|
[post_create_issue]
|
||||||
|
other = "ساخت ایشو"
|
||||||
|
[post_create_project_issue]
|
||||||
|
other = "ساخت ایشو برای پوسته"
|
||||||
|
[post_posts_in]
|
||||||
|
other = "نوشته ها در"
|
||||||
|
[post_reading_time]
|
||||||
|
other = "دقیقه برای خواندن"
|
||||||
|
[post_less_than_a_minute_read]
|
||||||
|
other = "کمتر از یک دقیقه"
|
||||||
|
|
||||||
|
|
||||||
|
# Print support
|
||||||
|
[print_printable_section]
|
||||||
|
other = "این حالت نمایش چند صفحه ای قابل پرینت این قسمت میباشد."
|
||||||
|
[print_click_to_print]
|
||||||
|
other = "برای پرینت کلیک کنید."
|
||||||
|
[print_show_regular]
|
||||||
|
other = "بازگشت به حالت نمایش عادی این قسمت"
|
||||||
|
[print_entire_section]
|
||||||
|
other = "پرینت کامل قسمت"
|
||||||
|
|
||||||
|
# Community
|
||||||
|
[community_join]
|
||||||
|
other = "Join the {{ .Site.Title }} community"
|
||||||
|
[community_introduce]
|
||||||
|
other = "{{ .Site.Title }} is an open source project that anyone in the community can use, improve, and enjoy. We'd love you to join us! Here's a few ways to find out what's happening and get involved."
|
||||||
|
[community_learn]
|
||||||
|
other = "Learn and Connect"
|
||||||
|
[community_using]
|
||||||
|
other = "Using or want to use {{ .Site.Title }}? Find out more here:"
|
||||||
|
[community_develop]
|
||||||
|
other = "Develop and Contribute"
|
||||||
|
[community_contribute]
|
||||||
|
other = "If you want to get more involved by contributing to {{ .Site.Title }}, join us here:"
|
||||||
|
[community_how_to]
|
||||||
|
other = "You can find out how to contribute to {{ .Site.Title }} in our"
|
||||||
|
[community_guideline]
|
||||||
|
other = "Contribution Guidelines"
|
|
@ -0,0 +1,81 @@
|
||||||
|
# UI strings. Buttons and similar.
|
||||||
|
|
||||||
|
[ui_pager_prev]
|
||||||
|
other = "Edellinen"
|
||||||
|
|
||||||
|
[ui_pager_next]
|
||||||
|
other = "Seuraava"
|
||||||
|
|
||||||
|
[ui_read_more]
|
||||||
|
other = "Lue lisää"
|
||||||
|
|
||||||
|
[ui_search]
|
||||||
|
other = "Hae sivustolta..."
|
||||||
|
|
||||||
|
# Used in sentences such as "Posted in News"
|
||||||
|
[ui_in]
|
||||||
|
other = ""
|
||||||
|
|
||||||
|
# Used in sentences such as "All Tags"
|
||||||
|
[ui_all]
|
||||||
|
other = "kaikki"
|
||||||
|
|
||||||
|
# Footer text
|
||||||
|
[footer_all_rights_reserved]
|
||||||
|
other = "(C)"
|
||||||
|
|
||||||
|
[footer_privacy_policy]
|
||||||
|
other = "Tietosuojalauseke"
|
||||||
|
|
||||||
|
|
||||||
|
# Post (blog, articles etc.)
|
||||||
|
[post_byline_by]
|
||||||
|
other = "Kirjoittanut"
|
||||||
|
[post_created]
|
||||||
|
other = "Luonut"
|
||||||
|
[post_last_mod]
|
||||||
|
other = "Viimeksi muokattu"
|
||||||
|
[post_edit_this]
|
||||||
|
other = "Muokkaa sivua"
|
||||||
|
[post_view_this]
|
||||||
|
other = "Katso lähdekoodi"
|
||||||
|
[post_create_child_page]
|
||||||
|
other = "Luo alisivu"
|
||||||
|
[post_create_issue]
|
||||||
|
other = "Luo dokumentaation vikailmoitus"
|
||||||
|
[post_create_project_issue]
|
||||||
|
other = "Luo projektin vikailmoitus"
|
||||||
|
[post_posts_in]
|
||||||
|
other = "Kirjoituksia"
|
||||||
|
[post_reading_time]
|
||||||
|
other = "minuutin teksti"
|
||||||
|
[post_less_than_a_minute_read]
|
||||||
|
other = "alle minuutin"
|
||||||
|
|
||||||
|
# Print support
|
||||||
|
[print_printable_section]
|
||||||
|
other = "Tämä on monen sivun tulostettava näkymä osiosta"
|
||||||
|
[print_click_to_print]
|
||||||
|
other = "Paina tulostaaksesi"
|
||||||
|
[print_show_regular]
|
||||||
|
other = "Palaa tavalliseen näkymään"
|
||||||
|
[print_entire_section]
|
||||||
|
other = "Tulosta koko osio"
|
||||||
|
|
||||||
|
# Community
|
||||||
|
[community_join]
|
||||||
|
other = "Liity {{ .Site.Title }}-yhteisöön"
|
||||||
|
[community_introduce]
|
||||||
|
other = "{{ .Site.Title }} on avoimen lähdekoodin projekti, josta jokainen saa nauttia käyttämällä ja kehittämällä sitä. Olisi mahtavaa jos tulisit mukaan! Tässä pari tapaa osallistua."
|
||||||
|
[community_learn]
|
||||||
|
other = "Opi ja kohtaa muita"
|
||||||
|
[community_using]
|
||||||
|
other = "Käytätkö tai haluatko käyttää {{ .Site.Title }}:a? Lisätietoa täällä:"
|
||||||
|
[community_develop]
|
||||||
|
other = "Kehitä ja osallistu"
|
||||||
|
[community_contribute]
|
||||||
|
other = "Jos haluat auttaa kehittämään {{ .Site.Title }}:a, liity tänne:"
|
||||||
|
[community_how_to]
|
||||||
|
other = "Voit oppia kehittämään {{ .Site.Title }}:a meidän"
|
||||||
|
[community_guideline]
|
||||||
|
other = "osallistumisohjeissamme"
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue