├── settings.gradle
├── package.json
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── templates
├── assets
│ ├── img
│ │ ├── default-cover.jpg
│ │ └── ObsidianestLogo.png
│ ├── libs
│ │ ├── iconfont
│ │ │ ├── iconfont.ttf
│ │ │ ├── iconfont.woff
│ │ │ └── iconfont.woff2
│ │ ├── tocbot
│ │ │ └── 4.18.2
│ │ │ │ └── tocbot.css
│ │ └── prism
│ │ │ └── themes
│ │ │ ├── prism-dracula.css
│ │ │ ├── prism-lucario.css
│ │ │ ├── prism-nord.css
│ │ │ ├── prism-hopscotch.css
│ │ │ ├── prism-holi-theme.css
│ │ │ ├── prism-atom-dark.css
│ │ │ ├── prism-ghcolors.css
│ │ │ ├── prism-solarized-dark-atom.css
│ │ │ ├── prism-coy-without-shadows.css
│ │ │ ├── prism-gruvbox-dark.css
│ │ │ ├── prism-synthwave84.css
│ │ │ ├── prism-gruvbox-light.css
│ │ │ ├── prism-a11y-dark.css
│ │ │ ├── prism-z-touch.css
│ │ │ ├── prism-night-owl.css
│ │ │ ├── prism-darcula.css
│ │ │ ├── prism-material-dark.css
│ │ │ ├── prism-material-light.css
│ │ │ ├── prism-material-oceanic.css
│ │ │ ├── prism-vs.css
│ │ │ ├── prism-cb.css
│ │ │ ├── prism-duotone-light.css
│ │ │ ├── prism-base16-ateliersulphurpool.light.css
│ │ │ ├── prism-duotone-dark.css
│ │ │ ├── prism-duotone-space.css
│ │ │ ├── prism-duotone-earth.css
│ │ │ ├── prism-duotone-forest.css
│ │ │ ├── prism-duotone-sea.css
│ │ │ ├── prism-xonokai.css
│ │ │ ├── prism-shades-of-purple.css
│ │ │ └── prism-pojoaque.css
│ ├── css
│ │ ├── breadcrumbs.css
│ │ ├── error.css
│ │ └── links.css
│ ├── js
│ │ ├── main.js
│ │ └── navigator.js
│ ├── svg
│ │ └── bilibili.svg
│ └── html
│ │ └── link-canvas.html
├── macro
│ ├── breadcrumbs.html
│ ├── app-banner.html
│ ├── prism-code.html
│ ├── post-stats.html
│ ├── links-canvas.html
│ ├── bangumi-item.html
│ ├── post-card.html
│ └── post-list.html
├── modules
│ ├── common
│ │ ├── code.html
│ │ ├── toc-bot.html
│ │ ├── bot.html
│ │ └── mobile-sidebar.html
│ ├── main.html
│ ├── nav.html
│ ├── comment.html
│ ├── aside.html
│ ├── comment
│ │ └── twikoo.html
│ ├── widgets
│ │ ├── nav-menu.html
│ │ ├── aside
│ │ │ ├── tags.html
│ │ │ ├── toc.html
│ │ │ ├── profile.html
│ │ │ └── comments.html
│ │ ├── page.html
│ │ └── nav-right.html
│ └── head.html
├── index.html
├── tag.html
├── category.html
├── categories.html
├── tags.html
├── page.html
├── archives.html
├── moments.html
└── error
│ ├── 404.html
│ └── 500.html
├── .github
├── ISSUE_TEMPLATE
│ ├── config.yml
│ ├── feature_request.zh.yml
│ └── bug_report.zh.yml
└── workflows
│ └── build.yml
├── .gitignore
├── theme.yaml
├── annotation-setting.yaml
├── .all-contributorsrc
├── LICENSE
└── gradlew.bat
/settings.gradle:
--------------------------------------------------------------------------------
1 | rootProject.name = 'theme-aurora'
2 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "halo-theme-aurora",
3 | "version": "1.0.3",
4 | "dependencies": {
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roozenlz/halo-theme-aurora/HEAD/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/templates/assets/img/default-cover.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roozenlz/halo-theme-aurora/HEAD/templates/assets/img/default-cover.jpg
--------------------------------------------------------------------------------
/templates/assets/img/ObsidianestLogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roozenlz/halo-theme-aurora/HEAD/templates/assets/img/ObsidianestLogo.png
--------------------------------------------------------------------------------
/templates/assets/libs/iconfont/iconfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roozenlz/halo-theme-aurora/HEAD/templates/assets/libs/iconfont/iconfont.ttf
--------------------------------------------------------------------------------
/templates/assets/libs/iconfont/iconfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roozenlz/halo-theme-aurora/HEAD/templates/assets/libs/iconfont/iconfont.woff
--------------------------------------------------------------------------------
/templates/assets/libs/iconfont/iconfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roozenlz/halo-theme-aurora/HEAD/templates/assets/libs/iconfont/iconfont.woff2
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | blank_issues_enabled: true
2 | contact_links:
3 | - name: 对 Aurora 有其他问题
4 | url: https://roozen.top
5 | about: 如果你还有其他疑问,可以加群沟通。
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 |
--------------------------------------------------------------------------------
/templates/macro/breadcrumbs.html:
--------------------------------------------------------------------------------
1 |
2 |
9 |
--------------------------------------------------------------------------------
/templates/assets/css/breadcrumbs.css:
--------------------------------------------------------------------------------
1 | .breadcrumbs,.breadcrumbs li {
2 | position: relative;
3 | z-index: 20
4 | }
5 |
6 | .breadcrumbs li:after {
7 | content: ">";
8 | position: absolute;
9 | top: .05rem;
10 | right: -.95rem;
11 | opacity: .65
12 | }
13 |
14 | .breadcrumbs li:last-of-type:after {
15 | content: ""
16 | }
17 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | .DS_Store
12 | *.local
13 |
14 | # Editor directories and files
15 | .vscode/*
16 | !.vscode/extensions.json
17 | .idea
18 | *.suo
19 | *.ntvs*
20 | *.njsproj
21 | *.sln
22 | *.sw?
23 |
24 | .gradle
25 | build
26 |
--------------------------------------------------------------------------------
/templates/macro/app-banner.html:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/templates/modules/common/code.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/theme.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: theme.halo.run/v1alpha1
2 | kind: Theme
3 | metadata:
4 | name: theme-aurora
5 | spec:
6 | displayName: Aurora
7 | author:
8 | name: Roozen
9 | website: https://roozen.top
10 | description: 移植自hexo-theme-aurora适配Halo2.x的Aurora主题
11 | logo: https://roozen.top/upload/ObsidianestLogo-hex_hecqbw.png
12 | website: https://roozen.top/?preview-theme=theme-aurora
13 | repo: https://github.com/Roozenlz/halo-theme-aurora
14 | settingName: "theme-aurora-setting"
15 | configMapName: "theme-aurora-configMap"
16 | version: "1.0.3"
17 | require: ">=2.8.0"
18 |
--------------------------------------------------------------------------------
/templates/assets/libs/tocbot/4.18.2/tocbot.css:
--------------------------------------------------------------------------------
1 | .toc{overflow-y:auto}.toc>.toc-list{overflow:hidden;position:relative}.toc>.toc-list li{list-style:none}.js-toc{overflow-y:hidden}.toc-list{margin:0;padding-left:10px}a.toc-link{color:currentColor;height:100%}.is-collapsible{max-height:1000px;overflow:hidden;transition:all 300ms ease-in-out}.is-collapsed{max-height:0}.is-position-fixed{position:fixed !important;top:0}.is-active-link{font-weight:700}.toc-link::before{background-color:#EEE;content:' ';display:inline-block;height:inherit;left:0;margin-top:-1px;position:absolute;width:2px}.is-active-link::before{background-color:#54BC4B}
2 |
--------------------------------------------------------------------------------
/templates/index.html:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/templates/tag.html:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
11 |
12 |
--------------------------------------------------------------------------------
/templates/category.html:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/templates/assets/js/main.js:
--------------------------------------------------------------------------------
1 | document.addEventListener('DOMContentLoaded', function () {
2 | /**
3 | * 网页运行时间
4 | */
5 | const addRuntime = () => {
6 | const $runtimeCount = document.getElementById('runtimeshow');
7 | if ($runtimeCount) {
8 | var s1 = $runtimeCount.innerText;;//建站时间
9 | if (s1) {
10 | s1 = new Date(s1.replace(/-/g, "/"));
11 | s2 = new Date();
12 | var days = s2.getTime() - s1.getTime();
13 | var number_of_days = parseInt(days / (1000 * 60 * 60 * 24));
14 | $runtimeCount.innerText = number_of_days + "天";
15 | }
16 | }
17 | }
18 | window.refreshFn = function () {
19 | addRuntime();
20 | }
21 | refreshFn()
22 | })
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.zh.yml:
--------------------------------------------------------------------------------
1 | name: 新特性建议
2 | description: 提交新特性建议
3 | body:
4 | - type: markdown
5 | id: preface
6 | attributes:
7 | value: "你好!在开始之前,我们非常推荐阅读一遍[《开源最佳实践》](https://github.com/LinuxSuRen/open-source-best-practice),这会在很大程度上提高我们彼此的效率。"
8 | - type: markdown
9 | id: environment
10 | attributes:
11 | value: "## 环境信息"
12 | - type: input
13 | id: version
14 | attributes:
15 | label: "你当前使用的版本"
16 | description: "可以在管理后台的关于页面中找到。"
17 | - type: markdown
18 | id: details
19 | attributes:
20 | value: "## 详细信息"
21 | - type: textarea
22 | id: description
23 | attributes:
24 | label: "描述一下此特性"
25 | validations:
26 | required: true
27 | - type: textarea
28 | id: additional-information
29 | attributes:
30 | label: "附加信息"
31 | description: "如果你还有其他需要提供的信息,可以在这里填写(可以提供截图、视频等)。"
--------------------------------------------------------------------------------
/annotation-setting.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1alpha1
2 | kind: AnnotationSetting
3 | metadata:
4 | generateName: annotation-setting-
5 | spec:
6 | targetRef:
7 | group: "core.halo.run"
8 | kind: LinkGroup
9 | formSchema:
10 | - $formkit: "radio"
11 | name: "displayStyle"
12 | label: "分组方式"
13 | value: default
14 | options:
15 | - label: 默认
16 | value: default
17 | - label: 美化
18 | value: beautify
19 | - $formkit: "textarea"
20 | name: "description"
21 | label: "描述"
22 | ---
23 | apiVersion: v1alpha1
24 | kind: AnnotationSetting
25 | metadata:
26 | generateName: annotation-setting-
27 | spec:
28 | targetRef:
29 | group: "core.halo.run"
30 | kind: Link
31 | formSchema:
32 | - $formkit: "attachment"
33 | name: "siteshot"
34 | label: "背景"
35 | - $formkit: "text"
36 | name: "label"
37 | label: "标签"
38 | - $formkit: "color"
39 | name: "labelColor"
40 | value: "#425AEF"
41 | label: "标签颜色"
42 | ---
43 |
--------------------------------------------------------------------------------
/.all-contributorsrc:
--------------------------------------------------------------------------------
1 | {
2 | "files": [
3 | "README.md"
4 | ],
5 | "imageSize": 100,
6 | "commit": false,
7 | "commitType": "docs",
8 | "commitConvention": "angular",
9 | "contributors": [
10 | {
11 | "login": "Roozenlz",
12 | "name": "Roozen",
13 | "avatar_url": "https://avatars.githubusercontent.com/u/93673944?v=4",
14 | "profile": "http://roozen.top",
15 | "contributions": [
16 | "infra",
17 | "test",
18 | "code"
19 | ]
20 | },
21 | {
22 | "login": "chengzhongxue",
23 | "name": "困困鱼",
24 | "avatar_url": "https://avatars.githubusercontent.com/avatars/u/89380218?v=4",
25 | "profile": "https://github.com/chengzhongxue",
26 | "contributions": [
27 | "infra",
28 | "test",
29 | "code"
30 | ]
31 | }
32 | ],
33 | "contributorsPerLine": 7,
34 | "skipCi": true,
35 | "repoType": "github",
36 | "repoHost": "https://github.com",
37 | "projectName": "halo-theme-aurora",
38 | "projectOwner": "Roozenlz"
39 | }
40 |
--------------------------------------------------------------------------------
/templates/modules/main.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
8 |
9 |
11 | 文章列表
12 |
14 |
15 |
16 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2023 Roozen
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/templates/modules/common/toc-bot.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/templates/assets/svg/bilibili.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/templates/modules/nav.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/templates/macro/prism-code.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
9 |
11 |
12 |
13 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/templates/modules/comment.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
7 |
8 |
9 |
10 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/templates/assets/html/link-canvas.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | 互动友链
8 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/templates/modules/aside.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug_report.zh.yml:
--------------------------------------------------------------------------------
1 | name: Bug 反馈
2 | description: 提交 Bug 反馈
3 | labels: [ bug ]
4 | body:
5 | - type: markdown
6 | id: preface
7 | attributes:
8 | value: |
9 | 感谢你花时间填写此错误报告!在开始之前,我们非常推荐阅读一遍[《开源最佳实践》](https://github.com/LinuxSuRen/open-source-best-practice),这会在很大程度上提高我们彼此的效率。
10 | - type: markdown
11 | id: environment
12 | attributes:
13 | value: "## 环境信息"
14 | - type: input
15 | id: version
16 | validations:
17 | required: true
18 | attributes:
19 | label: "是什么版本出现了此问题?"
20 | description: "可以在管理后台的关于页面中找到。"
21 | - type: input
22 | id: site-url
23 | attributes:
24 | label: "在线站点地址"
25 | description: "如果可以的话,请提供你的站点地址。这可能会帮助我们更好的定位问题。"
26 | placeholder: "ex. https://halo.run"
27 | validations:
28 | required: false
29 | - type: markdown
30 | id: details
31 | attributes:
32 | value: "## 详细信息"
33 | - type: textarea
34 | id: what-happened
35 | attributes:
36 | label: "发生了什么?"
37 | description: "最好还告诉我们,你预计会发生什么。"
38 | validations:
39 | required: true
40 | - type: textarea
41 | id: logs
42 | attributes:
43 | label: "相关日志输出"
44 | description: "请复制并粘贴任何相关的日志输出。 这将自动格式化为代码,因此无需反引号。"
45 | render: shell
46 | - type: textarea
47 | id: additional-information
48 | attributes:
49 | label: "附加信息"
50 | description: "如果你还有其他需要提供的信息,可以在这里填写(可以提供截图、视频等)。"
51 |
--------------------------------------------------------------------------------
/templates/categories.html:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/templates/tags.html:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/templates/modules/comment/twikoo.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/templates/page.html:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
17 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/templates/modules/common/bot.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
10 |
11 |
请您轻一点,我是很昂贵 的机器人哦!
12 | O.O
13 |
14 |
15 |
23 |
24 |
25 |
26 |
38 |
39 |
--------------------------------------------------------------------------------
/templates/modules/widgets/nav-menu.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
29 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/templates/modules/widgets/aside/tags.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/templates/modules/widgets/page.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
52 |
--------------------------------------------------------------------------------
/templates/macro/post-stats.html:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
7 |
9 |
10 | [[${wordCount / 400}]] mins.
11 |
12 |
13 |
14 | [[${wordCount}]]
15 |
16 |
17 |
19 |
21 |
22 |
23 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/templates/assets/libs/prism/themes/prism-dracula.css:
--------------------------------------------------------------------------------
1 | /**
2 | * Dracula Theme originally by Zeno Rocha [@zenorocha]
3 | * https://draculatheme.com/
4 | *
5 | * Ported for PrismJS by Albert Vallverdu [@byverdu]
6 | */
7 |
8 | code[class*="language-"],
9 | pre[class*="language-"] {
10 | color: #f8f8f2;
11 | background: none;
12 | text-shadow: 0 1px rgba(0, 0, 0, 0.3);
13 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
14 | text-align: left;
15 | white-space: pre;
16 | word-spacing: normal;
17 | word-break: normal;
18 | word-wrap: normal;
19 | line-height: 1.5;
20 | -moz-tab-size: 4;
21 | -o-tab-size: 4;
22 | tab-size: 4;
23 | -webkit-hyphens: none;
24 | -moz-hyphens: none;
25 | -ms-hyphens: none;
26 | hyphens: none;
27 | }
28 |
29 | /* Code blocks */
30 | pre[class*="language-"] {
31 | padding: 1em;
32 | margin: .5em 0;
33 | overflow: auto;
34 | border-radius: 0.3em;
35 | }
36 |
37 | :not(pre) > code[class*="language-"],
38 | pre[class*="language-"] {
39 | background: #282a36;
40 | }
41 |
42 | /* Inline code */
43 | :not(pre) > code[class*="language-"] {
44 | padding: .1em;
45 | border-radius: .3em;
46 | white-space: normal;
47 | }
48 |
49 | .token.comment,
50 | .token.prolog,
51 | .token.doctype,
52 | .token.cdata {
53 | color: #6272a4;
54 | }
55 |
56 | .token.punctuation {
57 | color: #f8f8f2;
58 | }
59 |
60 | .namespace {
61 | opacity: .7;
62 | }
63 |
64 | .token.property,
65 | .token.tag,
66 | .token.constant,
67 | .token.symbol,
68 | .token.deleted {
69 | color: #ff79c6;
70 | }
71 |
72 | .token.boolean,
73 | .token.number {
74 | color: #bd93f9;
75 | }
76 |
77 | .token.selector,
78 | .token.attr-name,
79 | .token.string,
80 | .token.char,
81 | .token.builtin,
82 | .token.inserted {
83 | color: #50fa7b;
84 | }
85 |
86 | .token.operator,
87 | .token.entity,
88 | .token.url,
89 | .language-css .token.string,
90 | .style .token.string,
91 | .token.variable {
92 | color: #f8f8f2;
93 | }
94 |
95 | .token.atrule,
96 | .token.attr-value,
97 | .token.function,
98 | .token.class-name {
99 | color: #f1fa8c;
100 | }
101 |
102 | .token.keyword {
103 | color: #8be9fd;
104 | }
105 |
106 | .token.regex,
107 | .token.important {
108 | color: #ffb86c;
109 | }
110 |
111 | .token.important,
112 | .token.bold {
113 | font-weight: bold;
114 | }
115 |
116 | .token.italic {
117 | font-style: italic;
118 | }
119 |
120 | .token.entity {
121 | cursor: help;
122 | }
123 |
--------------------------------------------------------------------------------
/templates/modules/widgets/nav-right.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
45 |
46 |
--------------------------------------------------------------------------------
/templates/assets/libs/prism/themes/prism-lucario.css:
--------------------------------------------------------------------------------
1 | /**
2 | * Lucario Theme originally by Raphael Amorim [@raphamorim]
3 | * https://github.com/raphamorim/lucario
4 | *
5 | * Ported for PrismJS by Christopher Kapic [@christopher-kapic]
6 | */
7 |
8 | code[class*="language-"],
9 | pre[class*="language-"] {
10 | color: #f8f8f2;
11 | background: none;
12 | text-shadow: 0 1px rgba(0, 0, 0, 0.3);
13 | font-family: Monaco, Consolas, 'Andale Mono', 'Ubuntu Mono', monospace;
14 | text-align: left;
15 | white-space: pre;
16 | word-spacing: normal;
17 | word-break: normal;
18 | word-wrap: normal;
19 | line-height: 1.5;
20 | -moz-tab-size: 4;
21 | -o-tab-size: 4;
22 | tab-size: 4;
23 | -webkit-hyphens: none;
24 | -moz-hyphens: none;
25 | -ms-hyphens: none;
26 | hyphens: none;
27 | }
28 |
29 | /* Code blocks */
30 | pre[class*="language-"] {
31 | padding: 1em;
32 | margin: .5em 0;
33 | overflow: auto;
34 | border-radius: 0.3em;
35 | }
36 |
37 | :not(pre) > code[class*="language-"],
38 | pre[class*="language-"] {
39 | background: #263E52;
40 | }
41 |
42 | /* Inline code */
43 | :not(pre) > code[class*="language-"] {
44 | padding: .1em;
45 | border-radius: .3em;
46 | white-space: normal;
47 | }
48 |
49 | .token.comment,
50 | .token.prolog,
51 | .token.doctype,
52 | .token.cdata {
53 | color: #5c98cd;
54 | }
55 |
56 | .token.punctuation {
57 | color: #f8f8f2;
58 | }
59 |
60 | .namespace {
61 | opacity: .7;
62 | }
63 |
64 | .token.property,
65 | .token.tag,
66 | .token.constant,
67 | .token.symbol,
68 | .token.deleted {
69 | color: #F05E5D;
70 | }
71 |
72 | .token.boolean,
73 | .token.number {
74 | color: #BC94F9;
75 | }
76 |
77 | .token.selector,
78 | .token.attr-name,
79 | .token.string,
80 | .token.char,
81 | .token.builtin,
82 | .token.inserted {
83 | color: #FCFCD6;
84 | }
85 |
86 | .token.operator,
87 | .token.entity,
88 | .token.url,
89 | .language-css .token.string,
90 | .style .token.string,
91 | .token.variable {
92 | color: #f8f8f2;
93 | }
94 |
95 | .token.atrule,
96 | .token.attr-value,
97 | .token.function,
98 | .token.class-name {
99 | color: #66D8EF;
100 | }
101 |
102 | .token.keyword {
103 | color: #6EB26E;
104 | }
105 |
106 | .token.regex,
107 | .token.important {
108 | color: #F05E5D;
109 | }
110 |
111 | .token.important,
112 | .token.bold {
113 | font-weight: bold;
114 | }
115 |
116 | .token.italic {
117 | font-style: italic;
118 | }
119 |
120 | .token.entity {
121 | cursor: help;
122 | }
123 |
--------------------------------------------------------------------------------
/templates/assets/libs/prism/themes/prism-nord.css:
--------------------------------------------------------------------------------
1 | /**
2 | * Nord Theme Originally by Arctic Ice Studio
3 | * https://nordtheme.com
4 | *
5 | * Ported for PrismJS by Zane Hitchcoxc (@zwhitchcox) and Gabriel Ramos (@gabrieluizramos)
6 | */
7 |
8 | code[class*="language-"],
9 | pre[class*="language-"] {
10 | color: #f8f8f2;
11 | background: none;
12 | font-family: "Fira Code", Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
13 | text-align: left;
14 | white-space: pre;
15 | word-spacing: normal;
16 | word-break: normal;
17 | word-wrap: normal;
18 | line-height: 1.5;
19 | -moz-tab-size: 4;
20 | -o-tab-size: 4;
21 | tab-size: 4;
22 | -webkit-hyphens: none;
23 | -moz-hyphens: none;
24 | -ms-hyphens: none;
25 | hyphens: none;
26 | }
27 |
28 | /* Code blocks */
29 | pre[class*="language-"] {
30 | padding: 1em;
31 | margin: .5em 0;
32 | overflow: auto;
33 | border-radius: 0.3em;
34 | }
35 |
36 | :not(pre) > code[class*="language-"],
37 | pre[class*="language-"] {
38 | background: #2E3440;
39 | }
40 |
41 | /* Inline code */
42 | :not(pre) > code[class*="language-"] {
43 | padding: .1em;
44 | border-radius: .3em;
45 | white-space: normal;
46 | }
47 |
48 | .token.comment,
49 | .token.prolog,
50 | .token.doctype,
51 | .token.cdata {
52 | color: #636f88;
53 | }
54 |
55 | .token.punctuation {
56 | color: #81A1C1;
57 | }
58 |
59 | .namespace {
60 | opacity: .7;
61 | }
62 |
63 | .token.property,
64 | .token.tag,
65 | .token.constant,
66 | .token.symbol,
67 | .token.deleted {
68 | color: #81A1C1;
69 | }
70 |
71 | .token.number {
72 | color: #B48EAD;
73 | }
74 |
75 | .token.boolean {
76 | color: #81A1C1;
77 | }
78 |
79 | .token.selector,
80 | .token.attr-name,
81 | .token.string,
82 | .token.char,
83 | .token.builtin,
84 | .token.inserted {
85 | color: #A3BE8C;
86 | }
87 |
88 | .token.operator,
89 | .token.entity,
90 | .token.url,
91 | .language-css .token.string,
92 | .style .token.string,
93 | .token.variable {
94 | color: #81A1C1;
95 | }
96 |
97 | .token.atrule,
98 | .token.attr-value,
99 | .token.function,
100 | .token.class-name {
101 | color: #88C0D0;
102 | }
103 |
104 | .token.keyword {
105 | color: #81A1C1;
106 | }
107 |
108 | .token.regex,
109 | .token.important {
110 | color: #EBCB8B;
111 | }
112 |
113 | .token.important,
114 | .token.bold {
115 | font-weight: bold;
116 | }
117 |
118 | .token.italic {
119 | font-style: italic;
120 | }
121 |
122 | .token.entity {
123 | cursor: help;
124 | }
125 |
--------------------------------------------------------------------------------
/templates/macro/links-canvas.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
53 |
54 |
56 |
59 |
60 |
61 |
62 |
63 | 换个头像试试
64 |
65 |
66 |
67 |
80 |
81 |
--------------------------------------------------------------------------------
/templates/archives.html:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
[[${month.month}]] [[${archive.year}]]
20 |
21 |
22 |
24 |
25 |
26 |
27 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/templates/assets/libs/prism/themes/prism-hopscotch.css:
--------------------------------------------------------------------------------
1 | @import url(https://fonts.googleapis.com/css?family=Fira+Mono);
2 |
3 | /*
4 | * Hopscotch
5 | * by Jan T. Sott
6 | * https://github.com/idleberg/Hopscotch
7 | *
8 | * This work is licensed under the Creative Commons CC0 1.0 Universal License
9 | */
10 |
11 | code[class*="language-"],
12 | pre[class*="language-"] {
13 | font-family: "Fira Mono", Menlo, Monaco, "Lucida Console", "Courier New", Courier, monospace;
14 | font-size: 16px;
15 | line-height: 1.375;
16 | direction: ltr;
17 | text-align: left;
18 | word-spacing: normal;
19 |
20 | -moz-tab-size: 4;
21 | -o-tab-size: 4;
22 | tab-size: 4;
23 |
24 | -webkit-hyphens: none;
25 | -moz-hyphens: none;
26 | -ms-hyphens: none;
27 | hyphens: none;
28 | white-space: pre;
29 | white-space: pre-wrap;
30 | word-break: break-all;
31 | word-wrap: break-word;
32 | background: #322931;
33 | color: #b9b5b8;
34 | }
35 |
36 | pre > code[class*="language-"] {
37 | font-size: 1em;
38 | }
39 |
40 | /* Code blocks */
41 | pre[class*="language-"] {
42 | padding: 1em;
43 | margin: .5em 0;
44 | overflow: auto;
45 | }
46 |
47 | /* Inline code */
48 | :not(pre) > code[class*="language-"] {
49 | padding: .1em;
50 | border-radius: .3em;
51 | }
52 |
53 | .token.comment,
54 | .token.prolog,
55 | .token.doctype,
56 | .token.cdata {
57 | color: #797379;
58 | }
59 |
60 | .token.punctuation {
61 | color: #b9b5b8;
62 | }
63 |
64 | .namespace {
65 | opacity: .7;
66 | }
67 |
68 | .token.null,
69 | .token.operator,
70 | .token.boolean,
71 | .token.number {
72 | color: #fd8b19;
73 | }
74 |
75 | .token.property {
76 | color: #fdcc59;
77 | }
78 |
79 | .token.tag {
80 | color: #1290bf;
81 | }
82 |
83 | .token.string {
84 | color: #149b93;
85 | }
86 |
87 | .token.selector {
88 | color: #c85e7c;
89 | }
90 |
91 | .token.attr-name {
92 | color: #fd8b19;
93 | }
94 |
95 | .token.entity,
96 | .token.url,
97 | .language-css .token.string,
98 | .style .token.string {
99 | color: #149b93;
100 | }
101 |
102 | .token.attr-value,
103 | .token.keyword,
104 | .token.control,
105 | .token.directive,
106 | .token.unit {
107 | color: #8fc13e;
108 | }
109 |
110 | .token.statement,
111 | .token.regex,
112 | .token.atrule {
113 | color: #149b93;
114 | }
115 |
116 | .token.placeholder,
117 | .token.variable {
118 | color: #1290bf;
119 | }
120 |
121 | .token.important {
122 | color: #dd464c;
123 | font-weight: bold;
124 | }
125 |
126 | .token.entity {
127 | cursor: help;
128 | }
129 |
130 | pre > code.highlight {
131 | outline: .4em solid red;
132 | outline-offset: .4em;
133 | }
134 |
--------------------------------------------------------------------------------
/templates/modules/widgets/aside/toc.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
52 |
53 |
--------------------------------------------------------------------------------
/templates/assets/libs/prism/themes/prism-holi-theme.css:
--------------------------------------------------------------------------------
1 | /**
2 | * MIT License
3 | * Copyright (c) 2021 Ayush Saini
4 | * Holi Theme for prism.js
5 | * @author Ayush Saini <@AyushCodes on Twitter>
6 | */
7 |
8 | code[class*='language-'],
9 | pre[class*='language-'] {
10 | color: #d6e7ff;
11 | background: #030314;
12 | text-shadow: none;
13 | font-family: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;
14 | font-size: 1em;
15 | line-height: 1.5;
16 | letter-spacing: .2px;
17 | white-space: pre;
18 | word-spacing: normal;
19 | word-break: normal;
20 | word-wrap: normal;
21 | text-align: left;
22 |
23 | -moz-tab-size: 4;
24 | -o-tab-size: 4;
25 | tab-size: 4;
26 |
27 | -webkit-hyphens: none;
28 | -moz-hyphens: none;
29 | -ms-hyphens: none;
30 | hyphens: none;
31 | }
32 |
33 | pre[class*='language-']::-moz-selection,
34 | pre[class*='language-'] ::-moz-selection,
35 | code[class*='language-']::-moz-selection,
36 | code[class*='language-'] ::-moz-selection,
37 | pre[class*='language-']::selection,
38 | pre[class*='language-'] ::selection,
39 | code[class*='language-']::selection,
40 | code[class*='language-'] ::selection {
41 | color: inherit;
42 | background: #1d3b54;
43 | text-shadow: none;
44 | }
45 |
46 | pre[class*='language-'] {
47 | border: 1px solid #2a4555;
48 | border-radius: 5px;
49 | padding: 1.5em 1em;
50 | margin: 1em 0;
51 | overflow: auto;
52 | }
53 |
54 | :not(pre) > code[class*='language-'] {
55 | color: #f0f6f6;
56 | background: #2a4555;
57 | padding: 0.2em 0.3em;
58 | border-radius: 0.2em;
59 | box-decoration-break: clone;
60 | }
61 |
62 | .token.comment,
63 | .token.prolog,
64 | .token.doctype,
65 | .token.cdata {
66 | color: #446e69;
67 | }
68 |
69 | .token.punctuation {
70 | color: #d6b007;
71 | }
72 |
73 | .token.property,
74 | .token.tag,
75 | .token.boolean,
76 | .token.number,
77 | .token.constant,
78 | .token.symbol,
79 | .token.deleted {
80 | color: #d6e7ff;
81 | }
82 |
83 | .token.selector,
84 | .token.attr-name,
85 | .token.builtin,
86 | .token.inserted {
87 | color: #e60067;
88 | }
89 |
90 | .token.string,
91 | .token.char {
92 | color: #49c6ec;
93 | }
94 |
95 | .token.operator,
96 | .token.entity,
97 | .token.url,
98 | .language-css .token.string,
99 | .style .token.string {
100 | color: #ec8e01;
101 | background: transparent;
102 | }
103 |
104 | .token.atrule,
105 | .token.attr-value,
106 | .token.keyword {
107 | color: #0fe468;
108 | }
109 |
110 | .token.function,
111 | .token.class-name {
112 | color: #78f3e9;
113 | }
114 |
115 | .token.regex,
116 | .token.important,
117 | .token.variable {
118 | color: #d6e7ff;
119 | }
120 |
--------------------------------------------------------------------------------
/templates/moments.html:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
23 |
24 |
25 |
26 |
27 |
30 |
31 |
33 |
34 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/templates/macro/bangumi-item.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
10 |
11 |
12 |
15 |
16 |
17 |
18 | [[${spec.totalCount}]]
19 | 0
20 |
21 |
22 | [[${spec.type}]]
23 |
24 |
25 |
26 | 总播放
27 |
28 |
29 |
30 | 追番人数
31 |
32 |
33 |
34 | 硬币数
35 |
36 |
37 |
38 | 弹幕总数
39 |
40 |
41 |
42 | 评分
43 |
44 |
45 |
46 |
47 |
50 |
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/templates/assets/libs/prism/themes/prism-atom-dark.css:
--------------------------------------------------------------------------------
1 | /**
2 | * atom-dark theme for `prism.js`
3 | * Based on Atom's `atom-dark` theme: https://github.com/atom/atom-dark-syntax
4 | * @author Joe Gibson (@gibsjose)
5 | */
6 |
7 | code[class*="language-"],
8 | pre[class*="language-"] {
9 | color: #c5c8c6;
10 | text-shadow: 0 1px rgba(0, 0, 0, 0.3);
11 | font-family: Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace;
12 | direction: ltr;
13 | text-align: left;
14 | white-space: pre;
15 | word-spacing: normal;
16 | word-break: normal;
17 | line-height: 1.5;
18 |
19 | -moz-tab-size: 4;
20 | -o-tab-size: 4;
21 | tab-size: 4;
22 |
23 | -webkit-hyphens: none;
24 | -moz-hyphens: none;
25 | -ms-hyphens: none;
26 | hyphens: none;
27 | }
28 |
29 | /* Code blocks */
30 | pre[class*="language-"] {
31 | padding: 1em;
32 | margin: .5em 0;
33 | overflow: auto;
34 | border-radius: 0.3em;
35 | }
36 |
37 | :not(pre) > code[class*="language-"],
38 | pre[class*="language-"] {
39 | background: #1d1f21;
40 | }
41 |
42 | /* Inline code */
43 | :not(pre) > code[class*="language-"] {
44 | padding: .1em;
45 | border-radius: .3em;
46 | }
47 |
48 | .token.comment,
49 | .token.prolog,
50 | .token.doctype,
51 | .token.cdata {
52 | color: #7C7C7C;
53 | }
54 |
55 | .token.punctuation {
56 | color: #c5c8c6;
57 | }
58 |
59 | .namespace {
60 | opacity: .7;
61 | }
62 |
63 | .token.property,
64 | .token.keyword,
65 | .token.tag {
66 | color: #96CBFE;
67 | }
68 |
69 | .token.class-name {
70 | color: #FFFFB6;
71 | text-decoration: underline;
72 | }
73 |
74 | .token.boolean,
75 | .token.constant {
76 | color: #99CC99;
77 | }
78 |
79 | .token.symbol,
80 | .token.deleted {
81 | color: #f92672;
82 | }
83 |
84 | .token.number {
85 | color: #FF73FD;
86 | }
87 |
88 | .token.selector,
89 | .token.attr-name,
90 | .token.string,
91 | .token.char,
92 | .token.builtin,
93 | .token.inserted {
94 | color: #A8FF60;
95 | }
96 |
97 | .token.variable {
98 | color: #C6C5FE;
99 | }
100 |
101 | .token.operator {
102 | color: #EDEDED;
103 | }
104 |
105 | .token.entity {
106 | color: #FFFFB6;
107 | cursor: help;
108 | }
109 |
110 | .token.url {
111 | color: #96CBFE;
112 | }
113 |
114 | .language-css .token.string,
115 | .style .token.string {
116 | color: #87C38A;
117 | }
118 |
119 | .token.atrule,
120 | .token.attr-value {
121 | color: #F9EE98;
122 | }
123 |
124 | .token.function {
125 | color: #DAD085;
126 | }
127 |
128 | .token.regex {
129 | color: #E9C062;
130 | }
131 |
132 | .token.important {
133 | color: #fd971f;
134 | }
135 |
136 | .token.important,
137 | .token.bold {
138 | font-weight: bold;
139 | }
140 |
141 | .token.italic {
142 | font-style: italic;
143 | }
144 |
--------------------------------------------------------------------------------
/templates/assets/libs/prism/themes/prism-ghcolors.css:
--------------------------------------------------------------------------------
1 | /**
2 | * GHColors theme by Avi Aryan (http://aviaryan.in)
3 | * Inspired by Github syntax coloring
4 | */
5 |
6 | code[class*="language-"],
7 | pre[class*="language-"] {
8 | color: #393A34;
9 | font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace;
10 | direction: ltr;
11 | text-align: left;
12 | white-space: pre;
13 | word-spacing: normal;
14 | word-break: normal;
15 | font-size: .9em;
16 | line-height: 1.2em;
17 |
18 | -moz-tab-size: 4;
19 | -o-tab-size: 4;
20 | tab-size: 4;
21 |
22 | -webkit-hyphens: none;
23 | -moz-hyphens: none;
24 | -ms-hyphens: none;
25 | hyphens: none;
26 | }
27 |
28 | pre > code[class*="language-"] {
29 | font-size: 1em;
30 | }
31 |
32 | pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
33 | code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
34 | background: #b3d4fc;
35 | }
36 |
37 | pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
38 | code[class*="language-"]::selection, code[class*="language-"] ::selection {
39 | background: #b3d4fc;
40 | }
41 |
42 | /* Code blocks */
43 | pre[class*="language-"] {
44 | padding: 1em;
45 | margin: .5em 0;
46 | overflow: auto;
47 | border: 1px solid #dddddd;
48 | background-color: white;
49 | }
50 |
51 | /* Inline code */
52 | :not(pre) > code[class*="language-"] {
53 | padding: .2em;
54 | padding-top: 1px;
55 | padding-bottom: 1px;
56 | background: #f8f8f8;
57 | border: 1px solid #dddddd;
58 | }
59 |
60 | .token.comment,
61 | .token.prolog,
62 | .token.doctype,
63 | .token.cdata {
64 | color: #999988;
65 | font-style: italic;
66 | }
67 |
68 | .token.namespace {
69 | opacity: .7;
70 | }
71 |
72 | .token.string,
73 | .token.attr-value {
74 | color: #e3116c;
75 | }
76 |
77 | .token.punctuation,
78 | .token.operator {
79 | color: #393A34; /* no highlight */
80 | }
81 |
82 | .token.entity,
83 | .token.url,
84 | .token.symbol,
85 | .token.number,
86 | .token.boolean,
87 | .token.variable,
88 | .token.constant,
89 | .token.property,
90 | .token.regex,
91 | .token.inserted {
92 | color: #36acaa;
93 | }
94 |
95 | .token.atrule,
96 | .token.keyword,
97 | .token.attr-name,
98 | .language-autohotkey .token.selector {
99 | color: #00a4db;
100 | }
101 |
102 | .token.function,
103 | .token.deleted,
104 | .language-autohotkey .token.tag {
105 | color: #9a050f;
106 | }
107 |
108 | .token.tag,
109 | .token.selector,
110 | .language-autohotkey .token.keyword {
111 | color: #00009f;
112 | }
113 |
114 | .token.important,
115 | .token.function,
116 | .token.bold {
117 | font-weight: bold;
118 | }
119 |
120 | .token.italic {
121 | font-style: italic;
122 | }
123 |
--------------------------------------------------------------------------------
/templates/assets/libs/prism/themes/prism-solarized-dark-atom.css:
--------------------------------------------------------------------------------
1 | /**
2 | * Solarized dark atom theme for `prism.js`
3 | * Based on Atom's `atom-dark` theme: https://github.com/atom/atom-dark-syntax
4 | * @author Pranay Chauhan (@PranayChauhan2516)
5 | */
6 |
7 | code[class*="language-"],
8 | pre[class*="language-"] {
9 | color: #839496;
10 | text-shadow: 0 1px rgba(0, 0, 0, 0.3);
11 | font-family: Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace;
12 | direction: ltr;
13 | text-align: left;
14 | white-space: pre;
15 | word-spacing: normal;
16 | word-break: normal;
17 | line-height: 1.5;
18 |
19 | -moz-tab-size: 4;
20 | -o-tab-size: 4;
21 | tab-size: 4;
22 |
23 | -webkit-hyphens: none;
24 | -moz-hyphens: none;
25 | -ms-hyphens: none;
26 | hyphens: none;
27 | }
28 |
29 | /* Code blocks */
30 | pre[class*="language-"] {
31 | padding: 1em;
32 | margin: .5em 0;
33 | overflow: auto;
34 | border-radius: 0.3em;
35 | }
36 |
37 | :not(pre) > code[class*="language-"],
38 | pre[class*="language-"] {
39 | background: #002b36;
40 | }
41 |
42 | /* Inline code */
43 | :not(pre) > code[class*="language-"] {
44 | padding: .1em;
45 | border-radius: .3em;
46 | }
47 |
48 | .token.comment,
49 | .token.prolog,
50 | .token.doctype,
51 | .token.cdata {
52 | color: #586e75;
53 | }
54 |
55 | .token.punctuation {
56 | color: #93a1a1;
57 | }
58 |
59 | .namespace {
60 | opacity: .7;
61 | }
62 |
63 | .token.property,
64 | .token.keyword,
65 | .token.tag {
66 | color: #268bd2;
67 | }
68 |
69 | .token.class-name {
70 | color: #FFFFB6;
71 | text-decoration: underline;
72 | }
73 |
74 | .token.boolean,
75 | .token.constant {
76 | color: #b58900;
77 | }
78 |
79 | .token.symbol,
80 | .token.deleted {
81 | color: #dc322f;
82 | }
83 |
84 | .token.number {
85 | color: #859900;
86 | }
87 |
88 | .token.selector,
89 | .token.attr-name,
90 | .token.string,
91 | .token.char,
92 | .token.builtin,
93 | .token.inserted {
94 | color: #859900;
95 | }
96 |
97 | .token.variable {
98 | color: #268bd2;
99 | }
100 |
101 | .token.operator {
102 | color: #EDEDED;
103 | }
104 |
105 | .token.function {
106 | color: #268bd2;
107 | }
108 |
109 | .token.regex {
110 | color: #E9C062;
111 | }
112 |
113 | .token.important {
114 | color: #fd971f;
115 | }
116 |
117 | .token.entity {
118 | color: #FFFFB6;
119 | cursor: help;
120 | }
121 |
122 | .token.url {
123 | color: #96CBFE;
124 | }
125 |
126 | .language-css .token.string,
127 | .style .token.string {
128 | color: #87C38A;
129 | }
130 |
131 | .token.important,
132 | .token.bold {
133 | font-weight: bold;
134 | }
135 |
136 | .token.italic {
137 | font-style: italic;
138 | }
139 |
140 | .token.atrule,
141 | .token.attr-value {
142 | color: #F9EE98;
143 | }
144 |
--------------------------------------------------------------------------------
/gradlew.bat:
--------------------------------------------------------------------------------
1 | @rem
2 | @rem Copyright 2015 the original author or authors.
3 | @rem
4 | @rem Licensed under the Apache License, Version 2.0 (the "License");
5 | @rem you may not use this file except in compliance with the License.
6 | @rem You may obtain a copy of the License at
7 | @rem
8 | @rem https://www.apache.org/licenses/LICENSE-2.0
9 | @rem
10 | @rem Unless required by applicable law or agreed to in writing, software
11 | @rem distributed under the License is distributed on an "AS IS" BASIS,
12 | @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | @rem See the License for the specific language governing permissions and
14 | @rem limitations under the License.
15 | @rem
16 |
17 | @if "%DEBUG%" == "" @echo off
18 | @rem ##########################################################################
19 | @rem
20 | @rem Gradle startup script for Windows
21 | @rem
22 | @rem ##########################################################################
23 |
24 | @rem Set local scope for the variables with windows NT shell
25 | if "%OS%"=="Windows_NT" setlocal
26 |
27 | set DIRNAME=%~dp0
28 | if "%DIRNAME%" == "" set DIRNAME=.
29 | set APP_BASE_NAME=%~n0
30 | set APP_HOME=%DIRNAME%
31 |
32 | @rem Resolve any "." and ".." in APP_HOME to make it shorter.
33 | for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
34 |
35 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
36 | set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
37 |
38 | @rem Find java.exe
39 | if defined JAVA_HOME goto findJavaFromJavaHome
40 |
41 | set JAVA_EXE=java.exe
42 | %JAVA_EXE% -version >NUL 2>&1
43 | if "%ERRORLEVEL%" == "0" goto execute
44 |
45 | echo.
46 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
47 | echo.
48 | echo Please set the JAVA_HOME variable in your environment to match the
49 | echo location of your Java installation.
50 |
51 | goto fail
52 |
53 | :findJavaFromJavaHome
54 | set JAVA_HOME=%JAVA_HOME:"=%
55 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe
56 |
57 | if exist "%JAVA_EXE%" goto execute
58 |
59 | echo.
60 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
61 | echo.
62 | echo Please set the JAVA_HOME variable in your environment to match the
63 | echo location of your Java installation.
64 |
65 | goto fail
66 |
67 | :execute
68 | @rem Setup the command line
69 |
70 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
71 |
72 |
73 | @rem Execute Gradle
74 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
75 |
76 | :end
77 | @rem End local scope for the variables with windows NT shell
78 | if "%ERRORLEVEL%"=="0" goto mainEnd
79 |
80 | :fail
81 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
82 | rem the _cmd.exe /c_ return code!
83 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
84 | exit /b 1
85 |
86 | :mainEnd
87 | if "%OS%"=="Windows_NT" endlocal
88 |
89 | :omega
90 |
--------------------------------------------------------------------------------
/templates/macro/post-card.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
8 | 推荐
9 |
10 |
11 |
12 |
14 |
16 |
17 |
18 |
19 |
21 |
22 | [[${category.spec.displayName}]]
23 |
24 |
25 |
33 |
34 |
35 |
37 |
38 |
39 |
40 |
41 |
44 |
45 | 发布于 [[${#dates.format(post.spec.publishTime, 'MMMM dd,yyyy')}]]
47 |
48 |
49 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/templates/assets/libs/prism/themes/prism-coy-without-shadows.css:
--------------------------------------------------------------------------------
1 | /**
2 | * Coy without shadows
3 | * Based on Tim Shedor's Coy theme for prism.js
4 | * Author: RunDevelopment
5 | */
6 |
7 | code[class*="language-"],
8 | pre[class*="language-"] {
9 | color: black;
10 | background: none;
11 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
12 | font-size: 1em;
13 | text-align: left;
14 | white-space: pre;
15 | word-spacing: normal;
16 | word-break: normal;
17 | word-wrap: normal;
18 | line-height: 1.5;
19 |
20 | -moz-tab-size: 4;
21 | -o-tab-size: 4;
22 | tab-size: 4;
23 |
24 | -webkit-hyphens: none;
25 | -moz-hyphens: none;
26 | -ms-hyphens: none;
27 | hyphens: none;
28 | }
29 |
30 | /* Code blocks */
31 | pre[class*="language-"] {
32 | position: relative;
33 | border-left: 10px solid #358ccb;
34 | box-shadow: -1px 0 0 0 #358ccb, 0 0 0 1px #dfdfdf;
35 | background-color: #fdfdfd;
36 | background-image: linear-gradient(transparent 50%, rgba(69, 142, 209, 0.04) 50%);
37 | background-size: 3em 3em;
38 | background-origin: content-box;
39 | background-attachment: local;
40 | margin: .5em 0;
41 | padding: 0 1em;
42 | }
43 |
44 | pre[class*="language-"] > code {
45 | display: block;
46 | }
47 |
48 | /* Inline code */
49 | :not(pre) > code[class*="language-"] {
50 | position: relative;
51 | padding: .2em;
52 | border-radius: 0.3em;
53 | color: #c92c2c;
54 | border: 1px solid rgba(0, 0, 0, 0.1);
55 | display: inline;
56 | white-space: normal;
57 | background-color: #fdfdfd;
58 | -webkit-box-sizing: border-box;
59 | -moz-box-sizing: border-box;
60 | box-sizing: border-box;
61 | }
62 |
63 | .token.comment,
64 | .token.block-comment,
65 | .token.prolog,
66 | .token.doctype,
67 | .token.cdata {
68 | color: #7D8B99;
69 | }
70 |
71 | .token.punctuation {
72 | color: #5F6364;
73 | }
74 |
75 | .token.property,
76 | .token.tag,
77 | .token.boolean,
78 | .token.number,
79 | .token.function-name,
80 | .token.constant,
81 | .token.symbol,
82 | .token.deleted {
83 | color: #c92c2c;
84 | }
85 |
86 | .token.selector,
87 | .token.attr-name,
88 | .token.string,
89 | .token.char,
90 | .token.function,
91 | .token.builtin,
92 | .token.inserted {
93 | color: #2f9c0a;
94 | }
95 |
96 | .token.operator,
97 | .token.entity,
98 | .token.url,
99 | .token.variable {
100 | color: #a67f59;
101 | background: rgba(255, 255, 255, 0.5);
102 | }
103 |
104 | .token.atrule,
105 | .token.attr-value,
106 | .token.keyword,
107 | .token.class-name {
108 | color: #1990b8;
109 | }
110 |
111 | .token.regex,
112 | .token.important {
113 | color: #e90;
114 | }
115 |
116 | .language-css .token.string,
117 | .style .token.string {
118 | color: #a67f59;
119 | background: rgba(255, 255, 255, 0.5);
120 | }
121 |
122 | .token.important {
123 | font-weight: normal;
124 | }
125 |
126 | .token.bold {
127 | font-weight: bold;
128 | }
129 |
130 | .token.italic {
131 | font-style: italic;
132 | }
133 |
134 | .token.entity {
135 | cursor: help;
136 | }
137 |
138 | .token.namespace {
139 | opacity: .7;
140 | }
141 |
--------------------------------------------------------------------------------
/templates/assets/libs/prism/themes/prism-gruvbox-dark.css:
--------------------------------------------------------------------------------
1 | /**
2 | * Gruvbox dark theme
3 | *
4 | * Adapted from a theme based on:
5 | * Vim Gruvbox dark Theme (https://github.com/morhetz/gruvbox)
6 | *
7 | * @author Azat S.
8 | * @version 1.0
9 | */
10 |
11 | code[class*="language-"],
12 | pre[class*="language-"] {
13 | color: #ebdbb2; /* fg1 / fg */
14 | font-family: Consolas, Monaco, "Andale Mono", monospace;
15 | direction: ltr;
16 | text-align: left;
17 | white-space: pre;
18 | word-spacing: normal;
19 | word-break: normal;
20 | line-height: 1.5;
21 |
22 | -moz-tab-size: 4;
23 | -o-tab-size: 4;
24 | tab-size: 4;
25 |
26 | -webkit-hyphens: none;
27 | -moz-hyphens: none;
28 | -ms-hyphens: none;
29 | hyphens: none;
30 | }
31 |
32 | pre[class*="language-"]::-moz-selection,
33 | pre[class*="language-"] ::-moz-selection,
34 | code[class*="language-"]::-moz-selection,
35 | code[class*="language-"] ::-moz-selection {
36 | color: #fbf1c7; /* fg0 */
37 | background: #7c6f64; /* bg4 */
38 | }
39 |
40 | pre[class*="language-"]::selection,
41 | pre[class*="language-"] ::selection,
42 | code[class*="language-"]::selection,
43 | code[class*="language-"] ::selection {
44 | color: #fbf1c7; /* fg0 */
45 | background: #7c6f64; /* bg4 */
46 | }
47 |
48 | /* Code blocks */
49 | pre[class*="language-"] {
50 | padding: 1em;
51 | margin: 0.5em 0;
52 | overflow: auto;
53 | }
54 |
55 | :not(pre) > code[class*="language-"],
56 | pre[class*="language-"] {
57 | background: #1d2021; /* bg0_h */
58 | }
59 |
60 | /* Inline code */
61 | :not(pre) > code[class*="language-"] {
62 | padding: 0.1em;
63 | border-radius: 0.3em;
64 | }
65 |
66 | .token.comment,
67 | .token.prolog,
68 | .token.cdata {
69 | color: #a89984; /* fg4 / gray1 */
70 | }
71 |
72 | .token.delimiter,
73 | .token.boolean,
74 | .token.keyword,
75 | .token.selector,
76 | .token.important,
77 | .token.atrule {
78 | color: #fb4934; /* red2 */
79 | }
80 |
81 | .token.operator,
82 | .token.punctuation,
83 | .token.attr-name {
84 | color: #a89984; /* fg4 / gray1 */
85 | }
86 |
87 | .token.tag,
88 | .token.tag .punctuation,
89 | .token.doctype,
90 | .token.builtin {
91 | color: #fabd2f; /* yellow2 */
92 | }
93 |
94 | .token.entity,
95 | .token.number,
96 | .token.symbol {
97 | color: #d3869b; /* purple2 */
98 | }
99 |
100 | .token.property,
101 | .token.constant,
102 | .token.variable {
103 | color: #fb4934; /* red2 */
104 | }
105 |
106 | .token.string,
107 | .token.char {
108 | color: #b8bb26; /* green2 */
109 | }
110 |
111 | .token.attr-value,
112 | .token.attr-value .punctuation {
113 | color: #a89984; /* fg4 / gray1 */
114 | }
115 |
116 | .token.url {
117 | color: #b8bb26; /* green2 */
118 | text-decoration: underline;
119 | }
120 |
121 | .token.function {
122 | color: #fabd2f; /* yellow2 */
123 | }
124 |
125 | .token.regex {
126 | background: #b8bb26; /* green2 */
127 | }
128 |
129 | .token.bold {
130 | font-weight: bold;
131 | }
132 |
133 | .token.italic {
134 | font-style: italic;
135 | }
136 |
137 | .token.inserted {
138 | background: #a89984; /* fg4 / gray1 */
139 | }
140 |
141 | .token.deleted {
142 | background: #fb4934; /* red2 */
143 | }
144 |
--------------------------------------------------------------------------------
/templates/assets/libs/prism/themes/prism-synthwave84.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Synthwave '84 Theme originally by Robb Owen [@Robb0wen] for Visual Studio Code
3 | * Demo: https://marc.dev/demo/prism-synthwave84
4 | *
5 | * Ported for PrismJS by Marc Backes [@themarcba]
6 | */
7 |
8 | code[class*="language-"],
9 | pre[class*="language-"] {
10 | color: #f92aad;
11 | text-shadow: 0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3;
12 | background: none;
13 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
14 | font-size: 1em;
15 | text-align: left;
16 | white-space: pre;
17 | word-spacing: normal;
18 | word-break: normal;
19 | word-wrap: normal;
20 | line-height: 1.5;
21 |
22 | -moz-tab-size: 4;
23 | -o-tab-size: 4;
24 | tab-size: 4;
25 |
26 | -webkit-hyphens: none;
27 | -moz-hyphens: none;
28 | -ms-hyphens: none;
29 | hyphens: none;
30 | }
31 |
32 | /* Code blocks */
33 | pre[class*="language-"] {
34 | padding: 1em;
35 | margin: .5em 0;
36 | overflow: auto;
37 | }
38 |
39 | :not(pre) > code[class*="language-"],
40 | pre[class*="language-"] {
41 | background-color: transparent !important;
42 | background-image: linear-gradient(to bottom, #2a2139 75%, #34294f);
43 | }
44 |
45 | /* Inline code */
46 | :not(pre) > code[class*="language-"] {
47 | padding: .1em;
48 | border-radius: .3em;
49 | white-space: normal;
50 | }
51 |
52 | .token.comment,
53 | .token.block-comment,
54 | .token.prolog,
55 | .token.doctype,
56 | .token.cdata {
57 | color: #8e8e8e;
58 | }
59 |
60 | .token.punctuation {
61 | color: #ccc;
62 | }
63 |
64 | .token.tag,
65 | .token.attr-name,
66 | .token.namespace,
67 | .token.number,
68 | .token.unit,
69 | .token.hexcode,
70 | .token.deleted {
71 | color: #e2777a;
72 | }
73 |
74 | .token.property,
75 | .token.selector {
76 | color: #72f1b8;
77 | text-shadow: 0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475;
78 | }
79 |
80 | .token.function-name {
81 | color: #6196cc;
82 | }
83 |
84 | .token.boolean,
85 | .token.selector .token.id,
86 | .token.function {
87 | color: #fdfdfd;
88 | text-shadow: 0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975;
89 | }
90 |
91 | .token.class-name {
92 | color: #fff5f6;
93 | text-shadow: 0 0 2px #000, 0 0 10px #fc1f2c75, 0 0 5px #fc1f2c75, 0 0 25px #fc1f2c75;
94 | }
95 |
96 | .token.constant,
97 | .token.symbol {
98 | color: #f92aad;
99 | text-shadow: 0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3;
100 | }
101 |
102 | .token.important,
103 | .token.atrule,
104 | .token.keyword,
105 | .token.selector .token.class,
106 | .token.builtin {
107 | color: #f4eee4;
108 | text-shadow: 0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575;
109 | }
110 |
111 | .token.string,
112 | .token.char,
113 | .token.attr-value,
114 | .token.regex,
115 | .token.variable {
116 | color: #f87c32;
117 | }
118 |
119 | .token.operator,
120 | .token.entity,
121 | .token.url {
122 | color: #67cdcc;
123 | }
124 |
125 | .token.important,
126 | .token.bold {
127 | font-weight: bold;
128 | }
129 |
130 | .token.italic {
131 | font-style: italic;
132 | }
133 |
134 | .token.entity {
135 | cursor: help;
136 | }
137 |
138 | .token.inserted {
139 | color: green;
140 | }
141 |
--------------------------------------------------------------------------------
/templates/macro/post-list.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
10 |
11 | 全部
12 |
13 |
16 |
18 |
19 |
20 |
22 |
24 | 全部
25 |
26 |
29 |
31 |
32 |
33 |
34 |
35 |
37 |
38 |
39 |
60 |
66 |
67 |
68 |
69 |
--------------------------------------------------------------------------------
/templates/assets/libs/prism/themes/prism-gruvbox-light.css:
--------------------------------------------------------------------------------
1 | /**
2 | * Gruvbox light theme
3 | *
4 | * Based on Gruvbox: https://github.com/morhetz/gruvbox
5 | * Adapted from PrismJS gruvbox-dark theme: https://github.com/schnerring/prism-themes/blob/master/themes/prism-gruvbox-dark.css
6 | *
7 | * @author Michael Schnerring (https://schnerring.net)
8 | * @version 1.0
9 | */
10 |
11 | code[class*="language-"],
12 | pre[class*="language-"] {
13 | color: #3c3836; /* fg1 / fg */
14 | font-family: Consolas, Monaco, "Andale Mono", monospace;
15 | direction: ltr;
16 | text-align: left;
17 | white-space: pre;
18 | word-spacing: normal;
19 | word-break: normal;
20 | line-height: 1.5;
21 |
22 | -moz-tab-size: 4;
23 | -o-tab-size: 4;
24 | tab-size: 4;
25 |
26 | -webkit-hyphens: none;
27 | -moz-hyphens: none;
28 | -ms-hyphens: none;
29 | hyphens: none;
30 | }
31 |
32 | pre[class*="language-"]::-moz-selection,
33 | pre[class*="language-"] ::-moz-selection,
34 | code[class*="language-"]::-moz-selection,
35 | code[class*="language-"] ::-moz-selection {
36 | color: #282828; /* fg0 */
37 | background: #a89984; /* bg4 */
38 | }
39 |
40 | pre[class*="language-"]::selection,
41 | pre[class*="language-"] ::selection,
42 | code[class*="language-"]::selection,
43 | code[class*="language-"] ::selection {
44 | color: #282828; /* fg0 */
45 | background: #a89984; /* bg4 */
46 | }
47 |
48 | /* Code blocks */
49 | pre[class*="language-"] {
50 | padding: 1em;
51 | margin: 0.5em 0;
52 | overflow: auto;
53 | }
54 |
55 | :not(pre) > code[class*="language-"],
56 | pre[class*="language-"] {
57 | background: #f9f5d7; /* bg0_h */
58 | }
59 |
60 | /* Inline code */
61 | :not(pre) > code[class*="language-"] {
62 | padding: 0.1em;
63 | border-radius: 0.3em;
64 | }
65 |
66 | .token.comment,
67 | .token.prolog,
68 | .token.cdata {
69 | color: #7c6f64; /* fg4 / gray1 */
70 | }
71 |
72 | .token.delimiter,
73 | .token.boolean,
74 | .token.keyword,
75 | .token.selector,
76 | .token.important,
77 | .token.atrule {
78 | color: #9d0006; /* red2 */
79 | }
80 |
81 | .token.operator,
82 | .token.punctuation,
83 | .token.attr-name {
84 | color: #7c6f64; /* fg4 / gray1 */
85 | }
86 |
87 | .token.tag,
88 | .token.tag .punctuation,
89 | .token.doctype,
90 | .token.builtin {
91 | color: #b57614; /* yellow2 */
92 | }
93 |
94 | .token.entity,
95 | .token.number,
96 | .token.symbol {
97 | color: #8f3f71; /* purple2 */
98 | }
99 |
100 | .token.property,
101 | .token.constant,
102 | .token.variable {
103 | color: #9d0006; /* red2 */
104 | }
105 |
106 | .token.string,
107 | .token.char {
108 | color: #797403; /* green2 */
109 | }
110 |
111 | .token.attr-value,
112 | .token.attr-value .punctuation {
113 | color: #7c6f64; /* fg4 / gray1 */
114 | }
115 |
116 | .token.url {
117 | color: #797403; /* green2 */
118 | text-decoration: underline;
119 | }
120 |
121 | .token.function {
122 | color: #b57614; /* yellow2 */
123 | }
124 |
125 | .token.regex {
126 | background: #797403; /* green2 */
127 | }
128 |
129 | .token.bold {
130 | font-weight: bold;
131 | }
132 |
133 | .token.italic {
134 | font-style: italic;
135 | }
136 |
137 | .token.inserted {
138 | background: #7c6f64; /* fg4 / gray1 */
139 | }
140 |
141 | .token.deleted {
142 | background: #9d0006; /* red2 */
143 | }
144 |
--------------------------------------------------------------------------------
/templates/assets/libs/prism/themes/prism-a11y-dark.css:
--------------------------------------------------------------------------------
1 | /**
2 | * a11y-dark theme for JavaScript, CSS, and HTML
3 | * Based on the okaidia theme: https://github.com/PrismJS/prism/blob/gh-pages/themes/prism-okaidia.css
4 | * @author ericwbailey
5 | */
6 |
7 | code[class*="language-"],
8 | pre[class*="language-"] {
9 | color: #f8f8f2;
10 | background: none;
11 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
12 | text-align: left;
13 | white-space: pre;
14 | word-spacing: normal;
15 | word-break: normal;
16 | word-wrap: normal;
17 | line-height: 1.5;
18 |
19 | -moz-tab-size: 4;
20 | -o-tab-size: 4;
21 | tab-size: 4;
22 |
23 | -webkit-hyphens: none;
24 | -moz-hyphens: none;
25 | -ms-hyphens: none;
26 | hyphens: none;
27 | }
28 |
29 | /* Code blocks */
30 | pre[class*="language-"] {
31 | padding: 1em;
32 | margin: 0.5em 0;
33 | overflow: auto;
34 | border-radius: 0.3em;
35 | }
36 |
37 | :not(pre) > code[class*="language-"],
38 | pre[class*="language-"] {
39 | background: #2b2b2b;
40 | }
41 |
42 | /* Inline code */
43 | :not(pre) > code[class*="language-"] {
44 | padding: 0.1em;
45 | border-radius: 0.3em;
46 | white-space: normal;
47 | }
48 |
49 | .token.comment,
50 | .token.prolog,
51 | .token.doctype,
52 | .token.cdata {
53 | color: #d4d0ab;
54 | }
55 |
56 | .token.punctuation {
57 | color: #fefefe;
58 | }
59 |
60 | .token.property,
61 | .token.tag,
62 | .token.constant,
63 | .token.symbol,
64 | .token.deleted {
65 | color: #ffa07a;
66 | }
67 |
68 | .token.boolean,
69 | .token.number {
70 | color: #00e0e0;
71 | }
72 |
73 | .token.selector,
74 | .token.attr-name,
75 | .token.string,
76 | .token.char,
77 | .token.builtin,
78 | .token.inserted {
79 | color: #abe338;
80 | }
81 |
82 | .token.operator,
83 | .token.entity,
84 | .token.url,
85 | .language-css .token.string,
86 | .style .token.string,
87 | .token.variable {
88 | color: #00e0e0;
89 | }
90 |
91 | .token.atrule,
92 | .token.attr-value,
93 | .token.function {
94 | color: #ffd700;
95 | }
96 |
97 | .token.keyword {
98 | color: #00e0e0;
99 | }
100 |
101 | .token.regex,
102 | .token.important {
103 | color: #ffd700;
104 | }
105 |
106 | .token.important,
107 | .token.bold {
108 | font-weight: bold;
109 | }
110 |
111 | .token.italic {
112 | font-style: italic;
113 | }
114 |
115 | .token.entity {
116 | cursor: help;
117 | }
118 |
119 | @media screen and (-ms-high-contrast: active) {
120 | code[class*="language-"],
121 | pre[class*="language-"] {
122 | color: windowText;
123 | background: window;
124 | }
125 |
126 | :not(pre) > code[class*="language-"],
127 | pre[class*="language-"] {
128 | background: window;
129 | }
130 |
131 | .token.important {
132 | background: highlight;
133 | color: window;
134 | font-weight: normal;
135 | }
136 |
137 | .token.atrule,
138 | .token.attr-value,
139 | .token.function,
140 | .token.keyword,
141 | .token.operator,
142 | .token.selector {
143 | font-weight: bold;
144 | }
145 |
146 | .token.attr-value,
147 | .token.comment,
148 | .token.doctype,
149 | .token.function,
150 | .token.keyword,
151 | .token.operator,
152 | .token.property,
153 | .token.string {
154 | color: highlight;
155 | }
156 |
157 | .token.attr-value,
158 | .token.url {
159 | font-weight: normal;
160 | }
161 | }
162 |
--------------------------------------------------------------------------------
/templates/assets/libs/prism/themes/prism-z-touch.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Z-Toch
3 | * by Zeel Codder
4 | * https://github.com/zeel-codder
5 | *
6 | */
7 | code[class*="language-"],
8 | pre[class*="language-"] {
9 | color: #22da17;
10 | font-family: monospace;
11 | text-align: left;
12 | white-space: pre;
13 | word-spacing: normal;
14 | word-break: normal;
15 | word-wrap: normal;
16 | -moz-tab-size: 4;
17 | -o-tab-size: 4;
18 | tab-size: 4;
19 | -webkit-hyphens: none;
20 | -moz-hyphens: none;
21 | -ms-hyphens: none;
22 | hyphens: none;
23 | line-height: 25px;
24 | font-size: 18px;
25 | margin: 5px 0;
26 | }
27 |
28 | pre[class*="language-"] * {
29 | font-family: monospace;
30 | }
31 |
32 | :not(pre) > code[class*="language-"],
33 | pre[class*="language-"] {
34 | color: white;
35 | background: #0a143c;
36 | padding: 22px;
37 | }
38 |
39 | /* Code blocks */
40 | pre[class*="language-"] {
41 | padding: 1em;
42 | margin: 0.5em 0;
43 | overflow: auto;
44 | }
45 |
46 | pre[class*="language-"]::-moz-selection,
47 | pre[class*="language-"] ::-moz-selection,
48 | code[class*="language-"]::-moz-selection,
49 | code[class*="language-"] ::-moz-selection {
50 | text-shadow: none;
51 | background: rgba(29, 59, 83, 0.99);
52 | }
53 |
54 | pre[class*="language-"]::selection,
55 | pre[class*="language-"] ::selection,
56 | code[class*="language-"]::selection,
57 | code[class*="language-"] ::selection {
58 | text-shadow: none;
59 | background: rgba(29, 59, 83, 0.99);
60 | }
61 |
62 | @media print {
63 | code[class*="language-"],
64 | pre[class*="language-"] {
65 | text-shadow: none;
66 | }
67 | }
68 |
69 | :not(pre) > code[class*="language-"] {
70 | padding: 0.1em;
71 | border-radius: 0.3em;
72 | white-space: normal;
73 | }
74 |
75 | .token.comment,
76 | .token.prolog,
77 | .token.cdata {
78 | color: rgb(99, 119, 119);
79 | font-style: italic;
80 | }
81 |
82 | .token.punctuation {
83 | color: rgb(199, 146, 234);
84 | }
85 |
86 | .namespace {
87 | color: rgb(178, 204, 214);
88 | }
89 |
90 | .token.deleted {
91 | color: rgba(239, 83, 80, 0.56);
92 | font-style: italic;
93 | }
94 |
95 | .token.symbol,
96 | .token.property {
97 | color: rgb(128, 203, 196);
98 | }
99 |
100 | .token.tag,
101 | .token.operator,
102 | .token.keyword {
103 | color: rgb(127, 219, 202);
104 | }
105 |
106 | .token.boolean {
107 | color: rgb(255, 88, 116);
108 | }
109 |
110 | .token.number {
111 | color: rgb(247, 140, 108);
112 | }
113 |
114 | .token.constant,
115 | .token.function,
116 | .token.builtin,
117 | .token.char {
118 | color: rgb(34 183 199);
119 | }
120 |
121 | .token.selector,
122 | .token.doctype {
123 | color: rgb(199, 146, 234);
124 | font-style: italic;
125 | }
126 |
127 | .token.attr-name,
128 | .token.inserted {
129 | color: rgb(173, 219, 103);
130 | font-style: italic;
131 | }
132 |
133 | .token.string,
134 | .token.url,
135 | .token.entity,
136 | .language-css .token.string,
137 | .style .token.string {
138 | color: rgb(173, 219, 103);
139 | }
140 |
141 | .token.class-name,
142 | .token.atrule,
143 | .token.attr-value {
144 | color: rgb(255, 203, 139);
145 | }
146 |
147 | .token.regex,
148 | .token.important,
149 | .token.variable {
150 | color: rgb(214, 222, 235);
151 | }
152 |
153 | .token.important,
154 | .token.bold {
155 | font-weight: bold;
156 | }
157 |
158 | .token.italic {
159 | font-style: italic;
160 | }
161 |
--------------------------------------------------------------------------------
/templates/assets/libs/prism/themes/prism-night-owl.css:
--------------------------------------------------------------------------------
1 | /**
2 | * MIT License
3 | * Copyright (c) 2018 Sarah Drasner
4 | * Sarah Drasner's[@sdras] Night Owl
5 | * Ported by Sara vieria [@SaraVieira]
6 | * Added by Souvik Mandal [@SimpleIndian]
7 | */
8 |
9 | code[class*="language-"],
10 | pre[class*="language-"] {
11 | color: #d6deeb;
12 | font-family: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;
13 | text-align: left;
14 | white-space: pre;
15 | word-spacing: normal;
16 | word-break: normal;
17 | word-wrap: normal;
18 | line-height: 1.5;
19 | font-size: 1em;
20 |
21 | -moz-tab-size: 4;
22 | -o-tab-size: 4;
23 | tab-size: 4;
24 |
25 | -webkit-hyphens: none;
26 | -moz-hyphens: none;
27 | -ms-hyphens: none;
28 | hyphens: none;
29 | }
30 |
31 | pre[class*="language-"]::-moz-selection,
32 | pre[class*="language-"] ::-moz-selection,
33 | code[class*="language-"]::-moz-selection,
34 | code[class*="language-"] ::-moz-selection {
35 | text-shadow: none;
36 | background: rgba(29, 59, 83, 0.99);
37 | }
38 |
39 | pre[class*="language-"]::selection,
40 | pre[class*="language-"] ::selection,
41 | code[class*="language-"]::selection,
42 | code[class*="language-"] ::selection {
43 | text-shadow: none;
44 | background: rgba(29, 59, 83, 0.99);
45 | }
46 |
47 | @media print {
48 | code[class*="language-"],
49 | pre[class*="language-"] {
50 | text-shadow: none;
51 | }
52 | }
53 |
54 | /* Code blocks */
55 | pre[class*="language-"] {
56 | padding: 1em;
57 | margin: 0.5em 0;
58 | overflow: auto;
59 | }
60 |
61 | :not(pre) > code[class*="language-"],
62 | pre[class*="language-"] {
63 | color: white;
64 | background: #011627;
65 | }
66 |
67 | :not(pre) > code[class*="language-"] {
68 | padding: 0.1em;
69 | border-radius: 0.3em;
70 | white-space: normal;
71 | }
72 |
73 | .token.comment,
74 | .token.prolog,
75 | .token.cdata {
76 | color: rgb(99, 119, 119);
77 | font-style: italic;
78 | }
79 |
80 | .token.punctuation {
81 | color: rgb(199, 146, 234);
82 | }
83 |
84 | .namespace {
85 | color: rgb(178, 204, 214);
86 | }
87 |
88 | .token.deleted {
89 | color: rgba(239, 83, 80, 0.56);
90 | font-style: italic;
91 | }
92 |
93 | .token.symbol,
94 | .token.property {
95 | color: rgb(128, 203, 196);
96 | }
97 |
98 | .token.tag,
99 | .token.operator,
100 | .token.keyword {
101 | color: rgb(127, 219, 202);
102 | }
103 |
104 | .token.boolean {
105 | color: rgb(255, 88, 116);
106 | }
107 |
108 | .token.number {
109 | color: rgb(247, 140, 108);
110 | }
111 |
112 | .token.constant,
113 | .token.function,
114 | .token.builtin,
115 | .token.char {
116 | color: rgb(130, 170, 255);
117 | }
118 |
119 | .token.selector,
120 | .token.doctype {
121 | color: rgb(199, 146, 234);
122 | font-style: italic;
123 | }
124 |
125 | .token.attr-name,
126 | .token.inserted {
127 | color: rgb(173, 219, 103);
128 | font-style: italic;
129 | }
130 |
131 | .token.string,
132 | .token.url,
133 | .token.entity,
134 | .language-css .token.string,
135 | .style .token.string {
136 | color: rgb(173, 219, 103);
137 | }
138 |
139 | .token.class-name,
140 | .token.atrule,
141 | .token.attr-value {
142 | color: rgb(255, 203, 139);
143 | }
144 |
145 | .token.regex,
146 | .token.important,
147 | .token.variable {
148 | color: rgb(214, 222, 235);
149 | }
150 |
151 | .token.important,
152 | .token.bold {
153 | font-weight: bold;
154 | }
155 |
156 | .token.italic {
157 | font-style: italic;
158 | }
159 |
--------------------------------------------------------------------------------
/templates/assets/libs/prism/themes/prism-darcula.css:
--------------------------------------------------------------------------------
1 | /**
2 | * Darcula theme
3 | *
4 | * Adapted from a theme based on:
5 | * IntelliJ Darcula Theme (https://github.com/bulenkov/Darcula)
6 | *
7 | * @author Alexandre Paradis
8 | * @version 1.0
9 | */
10 |
11 | code[class*="language-"],
12 | pre[class*="language-"] {
13 | color: #a9b7c6;
14 | font-family: Consolas, Monaco, 'Andale Mono', monospace;
15 | direction: ltr;
16 | text-align: left;
17 | white-space: pre;
18 | word-spacing: normal;
19 | word-break: normal;
20 | line-height: 1.5;
21 |
22 | -moz-tab-size: 4;
23 | -o-tab-size: 4;
24 | tab-size: 4;
25 |
26 | -webkit-hyphens: none;
27 | -moz-hyphens: none;
28 | -ms-hyphens: none;
29 | hyphens: none;
30 | }
31 |
32 | pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
33 | code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
34 | color: inherit;
35 | background: rgba(33, 66, 131, .85);
36 | }
37 |
38 | pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
39 | code[class*="language-"]::selection, code[class*="language-"] ::selection {
40 | color: inherit;
41 | background: rgba(33, 66, 131, .85);
42 | }
43 |
44 | /* Code blocks */
45 | pre[class*="language-"] {
46 | padding: 1em;
47 | margin: .5em 0;
48 | overflow: auto;
49 | }
50 |
51 | :not(pre) > code[class*="language-"],
52 | pre[class*="language-"] {
53 | background: #2b2b2b;
54 | }
55 |
56 | /* Inline code */
57 | :not(pre) > code[class*="language-"] {
58 | padding: .1em;
59 | border-radius: .3em;
60 | }
61 |
62 | .token.comment,
63 | .token.prolog,
64 | .token.cdata {
65 | color: #808080;
66 | }
67 |
68 | .token.delimiter,
69 | .token.boolean,
70 | .token.keyword,
71 | .token.selector,
72 | .token.important,
73 | .token.atrule {
74 | color: #cc7832;
75 | }
76 |
77 | .token.operator,
78 | .token.punctuation,
79 | .token.attr-name {
80 | color: #a9b7c6;
81 | }
82 |
83 | .token.tag,
84 | .token.tag .punctuation,
85 | .token.doctype,
86 | .token.builtin {
87 | color: #e8bf6a;
88 | }
89 |
90 | .token.entity,
91 | .token.number,
92 | .token.symbol {
93 | color: #6897bb;
94 | }
95 |
96 | .token.property,
97 | .token.constant,
98 | .token.variable {
99 | color: #9876aa;
100 | }
101 |
102 | .token.string,
103 | .token.char {
104 | color: #6a8759;
105 | }
106 |
107 | .token.attr-value,
108 | .token.attr-value .punctuation {
109 | color: #a5c261;
110 | }
111 |
112 | .token.attr-value .punctuation:first-child {
113 | color: #a9b7c6;
114 | }
115 |
116 | .token.url {
117 | color: #287bde;
118 | text-decoration: underline;
119 | }
120 |
121 | .token.function {
122 | color: #ffc66d;
123 | }
124 |
125 | .token.regex {
126 | background: #364135;
127 | }
128 |
129 | .token.bold {
130 | font-weight: bold;
131 | }
132 |
133 | .token.italic {
134 | font-style: italic;
135 | }
136 |
137 | .token.inserted {
138 | background: #294436;
139 | }
140 |
141 | .token.deleted {
142 | background: #484a4a;
143 | }
144 |
145 | code.language-css .token.property,
146 | code.language-css .token.property + .token.punctuation {
147 | color: #a9b7c6;
148 | }
149 |
150 | code.language-css .token.id {
151 | color: #ffc66d;
152 | }
153 |
154 | code.language-css .token.selector > .token.class,
155 | code.language-css .token.selector > .token.attribute,
156 | code.language-css .token.selector > .token.pseudo-class,
157 | code.language-css .token.selector > .token.pseudo-element {
158 | color: #ffc66d;
159 | }
160 |
--------------------------------------------------------------------------------
/.github/workflows/build.yml:
--------------------------------------------------------------------------------
1 | name: Build distribution theme
2 |
3 | on:
4 | release:
5 | types:
6 | - created
7 |
8 | jobs:
9 | build:
10 | runs-on: ubuntu-latest
11 | steps:
12 | - uses: actions/checkout@v3
13 | - name: Set up Node.js
14 | uses: actions/setup-node@v3
15 | with:
16 | node-version: 16
17 | - name: Compress zip
18 | run: |
19 | PACKAGE_VERSION=$(sed -nE 's/^\s*"version": "(.*?)",$/\1/p' package.json)
20 | PRE_ZIP_FOLDER=halo-theme-aurora-${PACKAGE_VERSION}
21 | ARTIFACT_NAME=${PRE_ZIP_FOLDER}.zip
22 | ARTIFACT_PATHNAME=dist/${ARTIFACT_NAME}
23 | echo "halo-theme-aurora version $PACKAGE_VERSION"
24 | echo "Artifact name: ${ARTIFACT_NAME}"
25 | echo "Artifact pathname: ${ARTIFACT_PATHNAME}"
26 | echo "PACKAGE_VERSION=${PACKAGE_VERSION}" >> $GITHUB_ENV
27 | echo "ARTIFACT_NAME=${ARTIFACT_NAME}" >> $GITHUB_ENV
28 | echo "ARTIFACT_PATHNAME=${ARTIFACT_PATHNAME}" >> $GITHUB_ENV
29 | echo "RELEASE_ID=${{ github.event.release.id }}" >> $GITHUB_ENV
30 | mkdir $PRE_ZIP_FOLDER
31 | mkdir dist
32 | cp -r theme.yaml settings.yaml annotation-setting.yaml templates $PRE_ZIP_FOLDER/
33 | zip -r $ARTIFACT_PATHNAME $PRE_ZIP_FOLDER
34 | - name: Upload artifact
35 | uses: actions/upload-artifact@v3
36 | with:
37 | name: halo-theme-aurora
38 | path: |
39 | dist/*.zip
40 | retention-days: 7
41 |
42 | github-release:
43 | runs-on: ubuntu-latest
44 | if: github.event_name == 'release'
45 | steps:
46 | - uses: actions/checkout@v3
47 | with:
48 | submodules: false
49 | - name: Set up Node.js
50 | uses: actions/setup-node@v3
51 | with:
52 | node-version: 16
53 | - name: Compress zip
54 | run: |
55 | PACKAGE_VERSION=$(sed -nE 's/^\s*"version": "(.*?)",$/\1/p' package.json)
56 | PRE_ZIP_FOLDER=halo-theme-aurora-${PACKAGE_VERSION}
57 | ARTIFACT_NAME=${PRE_ZIP_FOLDER}.zip
58 | ARTIFACT_PATHNAME=dist/${ARTIFACT_NAME}
59 | echo "halo-theme-aurora version $PACKAGE_VERSION"
60 | echo "Artifact name: ${ARTIFACT_NAME}"
61 | echo "Artifact pathname: ${ARTIFACT_PATHNAME}"
62 | echo "PACKAGE_VERSION=${PACKAGE_VERSION}" >> $GITHUB_ENV
63 | echo "ARTIFACT_NAME=${ARTIFACT_NAME}" >> $GITHUB_ENV
64 | echo "ARTIFACT_PATHNAME=${ARTIFACT_PATHNAME}" >> $GITHUB_ENV
65 | echo "RELEASE_ID=${{ github.event.release.id }}" >> $GITHUB_ENV
66 | mkdir $PRE_ZIP_FOLDER
67 | mkdir dist
68 | cp -r theme.yaml settings.yaml annotation-setting.yaml templates $PRE_ZIP_FOLDER/
69 | zip -r $ARTIFACT_PATHNAME $PRE_ZIP_FOLDER
70 | - name: Upload a release asset
71 | uses: actions/github-script@v2
72 | with:
73 | github-token: ${{secrets.GITHUB_TOKEN}}
74 | script: |
75 | const fs = require('fs').promises;
76 | const { repo: { owner, repo }, sha } = context;
77 | console.log({ owner, repo, sha });
78 | const releaseId = process.env.RELEASE_ID
79 | const artifactPathName = process.env.ARTIFACT_PATHNAME
80 | const artifactName = process.env.ARTIFACT_NAME
81 | console.log('Releasing', releaseId, artifactPathName, artifactName)
82 | await github.repos.uploadReleaseAsset({
83 | owner, repo,
84 | release_id: releaseId,
85 | name: artifactName,
86 | data: await fs.readFile(artifactPathName)
87 | });
88 |
--------------------------------------------------------------------------------
/templates/modules/widgets/aside/profile.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
8 |
10 |
11 |
12 |
15 |
18 |
21 |
23 |
25 |
26 |
27 |
28 |
39 |
40 | [[${stats.post}]]
41 | 文章
42 |
43 | [[${stats.category}]]
44 | 分类
45 |
46 | [[${stats.visit}]]
47 | 访问量
48 |
49 |
50 |
51 | 建站天数
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
--------------------------------------------------------------------------------
/templates/assets/libs/prism/themes/prism-material-dark.css:
--------------------------------------------------------------------------------
1 | code[class*="language-"],
2 | pre[class*="language-"] {
3 | text-align: left;
4 | white-space: pre;
5 | word-spacing: normal;
6 | word-break: normal;
7 | word-wrap: normal;
8 | color: #eee;
9 | background: #2f2f2f;
10 | font-family: Roboto Mono, monospace;
11 | font-size: 1em;
12 | line-height: 1.5em;
13 |
14 | -moz-tab-size: 4;
15 | -o-tab-size: 4;
16 | tab-size: 4;
17 |
18 | -webkit-hyphens: none;
19 | -moz-hyphens: none;
20 | -ms-hyphens: none;
21 | hyphens: none;
22 | }
23 |
24 | code[class*="language-"]::-moz-selection,
25 | pre[class*="language-"]::-moz-selection,
26 | code[class*="language-"] ::-moz-selection,
27 | pre[class*="language-"] ::-moz-selection {
28 | background: #363636;
29 | }
30 |
31 | code[class*="language-"]::selection,
32 | pre[class*="language-"]::selection,
33 | code[class*="language-"] ::selection,
34 | pre[class*="language-"] ::selection {
35 | background: #363636;
36 | }
37 |
38 | :not(pre) > code[class*="language-"] {
39 | white-space: normal;
40 | border-radius: 0.2em;
41 | padding: 0.1em;
42 | }
43 |
44 | pre[class*="language-"] {
45 | overflow: auto;
46 | position: relative;
47 | margin: 0.5em 0;
48 | padding: 1.25em 1em;
49 | }
50 |
51 | .language-css > code,
52 | .language-sass > code,
53 | .language-scss > code {
54 | color: #fd9170;
55 | }
56 |
57 | [class*="language-"] .namespace {
58 | opacity: 0.7;
59 | }
60 |
61 | .token.atrule {
62 | color: #c792ea;
63 | }
64 |
65 | .token.attr-name {
66 | color: #ffcb6b;
67 | }
68 |
69 | .token.attr-value {
70 | color: #a5e844;
71 | }
72 |
73 | .token.attribute {
74 | color: #a5e844;
75 | }
76 |
77 | .token.boolean {
78 | color: #c792ea;
79 | }
80 |
81 | .token.builtin {
82 | color: #ffcb6b;
83 | }
84 |
85 | .token.cdata {
86 | color: #80cbc4;
87 | }
88 |
89 | .token.char {
90 | color: #80cbc4;
91 | }
92 |
93 | .token.class {
94 | color: #ffcb6b;
95 | }
96 |
97 | .token.class-name {
98 | color: #f2ff00;
99 | }
100 |
101 | .token.comment {
102 | color: #616161;
103 | }
104 |
105 | .token.constant {
106 | color: #c792ea;
107 | }
108 |
109 | .token.deleted {
110 | color: #ff6666;
111 | }
112 |
113 | .token.doctype {
114 | color: #616161;
115 | }
116 |
117 | .token.entity {
118 | color: #ff6666;
119 | }
120 |
121 | .token.function {
122 | color: #c792ea;
123 | }
124 |
125 | .token.hexcode {
126 | color: #f2ff00;
127 | }
128 |
129 | .token.id {
130 | color: #c792ea;
131 | font-weight: bold;
132 | }
133 |
134 | .token.important {
135 | color: #c792ea;
136 | font-weight: bold;
137 | }
138 |
139 | .token.inserted {
140 | color: #80cbc4;
141 | }
142 |
143 | .token.keyword {
144 | color: #c792ea;
145 | }
146 |
147 | .token.number {
148 | color: #fd9170;
149 | }
150 |
151 | .token.operator {
152 | color: #89ddff;
153 | }
154 |
155 | .token.prolog {
156 | color: #616161;
157 | }
158 |
159 | .token.property {
160 | color: #80cbc4;
161 | }
162 |
163 | .token.pseudo-class {
164 | color: #a5e844;
165 | }
166 |
167 | .token.pseudo-element {
168 | color: #a5e844;
169 | }
170 |
171 | .token.punctuation {
172 | color: #89ddff;
173 | }
174 |
175 | .token.regex {
176 | color: #f2ff00;
177 | }
178 |
179 | .token.selector {
180 | color: #ff6666;
181 | }
182 |
183 | .token.string {
184 | color: #a5e844;
185 | }
186 |
187 | .token.symbol {
188 | color: #c792ea;
189 | }
190 |
191 | .token.tag {
192 | color: #ff6666;
193 | }
194 |
195 | .token.unit {
196 | color: #fd9170;
197 | }
198 |
199 | .token.url {
200 | color: #ff6666;
201 | }
202 |
203 | .token.variable {
204 | color: #ff6666;
205 | }
206 |
--------------------------------------------------------------------------------
/templates/assets/libs/prism/themes/prism-material-light.css:
--------------------------------------------------------------------------------
1 | code[class*="language-"],
2 | pre[class*="language-"] {
3 | text-align: left;
4 | white-space: pre;
5 | word-spacing: normal;
6 | word-break: normal;
7 | word-wrap: normal;
8 | color: #90a4ae;
9 | background: #fafafa;
10 | font-family: Roboto Mono, monospace;
11 | font-size: 1em;
12 | line-height: 1.5em;
13 |
14 | -moz-tab-size: 4;
15 | -o-tab-size: 4;
16 | tab-size: 4;
17 |
18 | -webkit-hyphens: none;
19 | -moz-hyphens: none;
20 | -ms-hyphens: none;
21 | hyphens: none;
22 | }
23 |
24 | code[class*="language-"]::-moz-selection,
25 | pre[class*="language-"]::-moz-selection,
26 | code[class*="language-"] ::-moz-selection,
27 | pre[class*="language-"] ::-moz-selection {
28 | background: #cceae7;
29 | color: #263238;
30 | }
31 |
32 | code[class*="language-"]::selection,
33 | pre[class*="language-"]::selection,
34 | code[class*="language-"] ::selection,
35 | pre[class*="language-"] ::selection {
36 | background: #cceae7;
37 | color: #263238;
38 | }
39 |
40 | :not(pre) > code[class*="language-"] {
41 | white-space: normal;
42 | border-radius: 0.2em;
43 | padding: 0.1em;
44 | }
45 |
46 | pre[class*="language-"] {
47 | overflow: auto;
48 | position: relative;
49 | margin: 0.5em 0;
50 | padding: 1.25em 1em;
51 | }
52 |
53 | .language-css > code,
54 | .language-sass > code,
55 | .language-scss > code {
56 | color: #f76d47;
57 | }
58 |
59 | [class*="language-"] .namespace {
60 | opacity: 0.7;
61 | }
62 |
63 | .token.atrule {
64 | color: #7c4dff;
65 | }
66 |
67 | .token.attr-name {
68 | color: #39adb5;
69 | }
70 |
71 | .token.attr-value {
72 | color: #f6a434;
73 | }
74 |
75 | .token.attribute {
76 | color: #f6a434;
77 | }
78 |
79 | .token.boolean {
80 | color: #7c4dff;
81 | }
82 |
83 | .token.builtin {
84 | color: #39adb5;
85 | }
86 |
87 | .token.cdata {
88 | color: #39adb5;
89 | }
90 |
91 | .token.char {
92 | color: #39adb5;
93 | }
94 |
95 | .token.class {
96 | color: #39adb5;
97 | }
98 |
99 | .token.class-name {
100 | color: #6182b8;
101 | }
102 |
103 | .token.comment {
104 | color: #aabfc9;
105 | }
106 |
107 | .token.constant {
108 | color: #7c4dff;
109 | }
110 |
111 | .token.deleted {
112 | color: #e53935;
113 | }
114 |
115 | .token.doctype {
116 | color: #aabfc9;
117 | }
118 |
119 | .token.entity {
120 | color: #e53935;
121 | }
122 |
123 | .token.function {
124 | color: #7c4dff;
125 | }
126 |
127 | .token.hexcode {
128 | color: #f76d47;
129 | }
130 |
131 | .token.id {
132 | color: #7c4dff;
133 | font-weight: bold;
134 | }
135 |
136 | .token.important {
137 | color: #7c4dff;
138 | font-weight: bold;
139 | }
140 |
141 | .token.inserted {
142 | color: #39adb5;
143 | }
144 |
145 | .token.keyword {
146 | color: #7c4dff;
147 | }
148 |
149 | .token.number {
150 | color: #f76d47;
151 | }
152 |
153 | .token.operator {
154 | color: #39adb5;
155 | }
156 |
157 | .token.prolog {
158 | color: #aabfc9;
159 | }
160 |
161 | .token.property {
162 | color: #39adb5;
163 | }
164 |
165 | .token.pseudo-class {
166 | color: #f6a434;
167 | }
168 |
169 | .token.pseudo-element {
170 | color: #f6a434;
171 | }
172 |
173 | .token.punctuation {
174 | color: #39adb5;
175 | }
176 |
177 | .token.regex {
178 | color: #6182b8;
179 | }
180 |
181 | .token.selector {
182 | color: #e53935;
183 | }
184 |
185 | .token.string {
186 | color: #f6a434;
187 | }
188 |
189 | .token.symbol {
190 | color: #7c4dff;
191 | }
192 |
193 | .token.tag {
194 | color: #e53935;
195 | }
196 |
197 | .token.unit {
198 | color: #f76d47;
199 | }
200 |
201 | .token.url {
202 | color: #e53935;
203 | }
204 |
205 | .token.variable {
206 | color: #e53935;
207 | }
208 |
--------------------------------------------------------------------------------
/templates/assets/libs/prism/themes/prism-material-oceanic.css:
--------------------------------------------------------------------------------
1 | code[class*="language-"],
2 | pre[class*="language-"] {
3 | text-align: left;
4 | white-space: pre;
5 | word-spacing: normal;
6 | word-break: normal;
7 | word-wrap: normal;
8 | color: #c3cee3;
9 | background: #263238;
10 | font-family: Roboto Mono, monospace;
11 | font-size: 1em;
12 | line-height: 1.5em;
13 |
14 | -moz-tab-size: 4;
15 | -o-tab-size: 4;
16 | tab-size: 4;
17 |
18 | -webkit-hyphens: none;
19 | -moz-hyphens: none;
20 | -ms-hyphens: none;
21 | hyphens: none;
22 | }
23 |
24 | code[class*="language-"]::-moz-selection,
25 | pre[class*="language-"]::-moz-selection,
26 | code[class*="language-"] ::-moz-selection,
27 | pre[class*="language-"] ::-moz-selection {
28 | background: #363636;
29 | }
30 |
31 | code[class*="language-"]::selection,
32 | pre[class*="language-"]::selection,
33 | code[class*="language-"] ::selection,
34 | pre[class*="language-"] ::selection {
35 | background: #363636;
36 | }
37 |
38 | :not(pre) > code[class*="language-"] {
39 | white-space: normal;
40 | border-radius: 0.2em;
41 | padding: 0.1em;
42 | }
43 |
44 | pre[class*="language-"] {
45 | overflow: auto;
46 | position: relative;
47 | margin: 0.5em 0;
48 | padding: 1.25em 1em;
49 | }
50 |
51 | .language-css > code,
52 | .language-sass > code,
53 | .language-scss > code {
54 | color: #fd9170;
55 | }
56 |
57 | [class*="language-"] .namespace {
58 | opacity: 0.7;
59 | }
60 |
61 | .token.atrule {
62 | color: #c792ea;
63 | }
64 |
65 | .token.attr-name {
66 | color: #ffcb6b;
67 | }
68 |
69 | .token.attr-value {
70 | color: #c3e88d;
71 | }
72 |
73 | .token.attribute {
74 | color: #c3e88d;
75 | }
76 |
77 | .token.boolean {
78 | color: #c792ea;
79 | }
80 |
81 | .token.builtin {
82 | color: #ffcb6b;
83 | }
84 |
85 | .token.cdata {
86 | color: #80cbc4;
87 | }
88 |
89 | .token.char {
90 | color: #80cbc4;
91 | }
92 |
93 | .token.class {
94 | color: #ffcb6b;
95 | }
96 |
97 | .token.class-name {
98 | color: #f2ff00;
99 | }
100 |
101 | .token.color {
102 | color: #f2ff00;
103 | }
104 |
105 | .token.comment {
106 | color: #546e7a;
107 | }
108 |
109 | .token.constant {
110 | color: #c792ea;
111 | }
112 |
113 | .token.deleted {
114 | color: #f07178;
115 | }
116 |
117 | .token.doctype {
118 | color: #546e7a;
119 | }
120 |
121 | .token.entity {
122 | color: #f07178;
123 | }
124 |
125 | .token.function {
126 | color: #c792ea;
127 | }
128 |
129 | .token.hexcode {
130 | color: #f2ff00;
131 | }
132 |
133 | .token.id {
134 | color: #c792ea;
135 | font-weight: bold;
136 | }
137 |
138 | .token.important {
139 | color: #c792ea;
140 | font-weight: bold;
141 | }
142 |
143 | .token.inserted {
144 | color: #80cbc4;
145 | }
146 |
147 | .token.keyword {
148 | color: #c792ea;
149 | font-style: italic;
150 | }
151 |
152 | .token.number {
153 | color: #fd9170;
154 | }
155 |
156 | .token.operator {
157 | color: #89ddff;
158 | }
159 |
160 | .token.prolog {
161 | color: #546e7a;
162 | }
163 |
164 | .token.property {
165 | color: #80cbc4;
166 | }
167 |
168 | .token.pseudo-class {
169 | color: #c3e88d;
170 | }
171 |
172 | .token.pseudo-element {
173 | color: #c3e88d;
174 | }
175 |
176 | .token.punctuation {
177 | color: #89ddff;
178 | }
179 |
180 | .token.regex {
181 | color: #f2ff00;
182 | }
183 |
184 | .token.selector {
185 | color: #f07178;
186 | }
187 |
188 | .token.string {
189 | color: #c3e88d;
190 | }
191 |
192 | .token.symbol {
193 | color: #c792ea;
194 | }
195 |
196 | .token.tag {
197 | color: #f07178;
198 | }
199 |
200 | .token.unit {
201 | color: #f07178;
202 | }
203 |
204 | .token.url {
205 | color: #fd9170;
206 | }
207 |
208 | .token.variable {
209 | color: #f07178;
210 | }
211 |
--------------------------------------------------------------------------------
/templates/assets/js/navigator.js:
--------------------------------------------------------------------------------
1 | let scrollTimer;
2 | document.addEventListener("scroll", () => {
3 | let navigator_class = document.getElementById('Ob-Navigator').classList;
4 | navigator_class.remove('Ob-Navigator--open')
5 | navigator_class.add('Ob-Navigator--scrolling')
6 | let returnTop = document.getElementById('returnTop')
7 | let scrollPercent = document.getElementById('scrollPercent')
8 | let scrollSvg1 = document.getElementById('scrollSvg1')
9 | let scrollSvg2 = document.getElementById('scrollSvg2')
10 | scrollSvg2.style.display = 'none'
11 | let e = document.documentElement.scrollTop || window.pageYOffset
12 | let t = Math.max(document.body.scrollHeight, document.documentElement.scrollHeight, document.body.offsetHeight, document.documentElement.offsetHeight, document.body.clientHeight, document.documentElement.clientHeight) - document.documentElement.clientHeight
13 | let o = Math.round(e / t * 100);
14 | if (o > 0.16) {
15 | scrollPercent.style.display = 'block'
16 | scrollSvg1.style.display = 'none'
17 | returnTop.style.display = 'block'
18 | scrollPercent.innerText = o + '%'
19 | } else {
20 | returnTop.style.display = 'none'
21 | scrollPercent.style.display = 'none'
22 | scrollSvg1.style.display = 'block'
23 | }
24 | clearTimeout(scrollTimer);
25 | scrollTimer = setTimeout(() => {
26 | navigator_class.remove('Ob-Navigator--scrolling')
27 | }, 300);
28 | });
29 |
30 | function returnTop() {
31 | scrollToDest(0, 500)
32 | }
33 |
34 | function scrollToDest(e, t) {
35 | if (e < 0 || t < 0)
36 | return;
37 | const n = window.scrollY || window.screenTop;
38 | if (e -= 70,
39 | "CSS" in window && CSS.supports("scroll-behavior", "smooth"))
40 | return void window.scrollTo({
41 | top: e,
42 | behavior: "smooth"
43 | });
44 | let o = null;
45 | t = t || 500,
46 | window.requestAnimationFrame((function i(s) {
47 | if (o = o || s,
48 | n < e) {
49 | const r = s - o;
50 | window.scrollTo(0, (e - n) * r / t + n),
51 | r < t ? window.requestAnimationFrame(i) : window.scrollTo(0, e)
52 | } else {
53 | const r = s - o;
54 | window.scrollTo(0, n - (n - e) * r / t),
55 | r < t ? window.requestAnimationFrame(i) : window.scrollTo(0, e)
56 | }
57 | }
58 | ))
59 | }
60 |
61 | function navigatorClickHandler() {
62 | let navigator_class = document.getElementById("Ob-Navigator").classList
63 | let scrollSvg2 = document.getElementById('scrollSvg2');
64 | let scrollPercent = document.getElementById('scrollPercent');
65 | let scrollSvg1 = document.getElementById('scrollSvg1');
66 | let returnTop = document.getElementById('returnTop');
67 | if (navigator_class.contains('Ob-Navigator--open')) {
68 | scrollSvg2.style.display = 'none'
69 | let e = document.documentElement.scrollTop || window.pageYOffset
70 | let t = Math.max(document.body.scrollHeight, document.documentElement.scrollHeight, document.body.offsetHeight, document.documentElement.offsetHeight, document.body.clientHeight, document.documentElement.clientHeight) - document.documentElement.clientHeight
71 | let o = Math.round(e / t * 100);
72 | if (o > 0.16) {
73 | returnTop.style.display = 'block'
74 | scrollPercent.style.display = 'block'
75 | scrollPercent.innerText = o + '%'
76 | } else {
77 | scrollSvg1.style.display = 'block'
78 | }
79 | navigator_class.remove('Ob-Navigator--open')
80 | } else {
81 | returnTop.style.display = 'none'
82 | scrollSvg1.style.display = 'none'
83 | scrollSvg2.style.display = 'block'
84 | scrollPercent.style.display = 'none'
85 | navigator_class.add('Ob-Navigator--open')
86 | }
87 | }
--------------------------------------------------------------------------------
/templates/assets/libs/prism/themes/prism-vs.css:
--------------------------------------------------------------------------------
1 | /**
2 | * VS theme by Andrew Lock (https://andrewlock.net)
3 | * Inspired by Visual Studio syntax coloring
4 | */
5 |
6 | code[class*="language-"],
7 | pre[class*="language-"] {
8 | color: #393A34;
9 | font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace;
10 | direction: ltr;
11 | text-align: left;
12 | white-space: pre;
13 | word-spacing: normal;
14 | word-break: normal;
15 | font-size: .9em;
16 | line-height: 1.2em;
17 |
18 | -moz-tab-size: 4;
19 | -o-tab-size: 4;
20 | tab-size: 4;
21 |
22 | -webkit-hyphens: none;
23 | -moz-hyphens: none;
24 | -ms-hyphens: none;
25 | hyphens: none;
26 | }
27 |
28 | pre > code[class*="language-"] {
29 | font-size: 1em;
30 | }
31 |
32 | pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
33 | code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
34 | background: #C1DEF1;
35 | }
36 |
37 | pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
38 | code[class*="language-"]::selection, code[class*="language-"] ::selection {
39 | background: #C1DEF1;
40 | }
41 |
42 | /* Code blocks */
43 | pre[class*="language-"] {
44 | padding: 1em;
45 | margin: .5em 0;
46 | overflow: auto;
47 | border: 1px solid #dddddd;
48 | background-color: white;
49 | }
50 |
51 | /* Inline code */
52 | :not(pre) > code[class*="language-"] {
53 | padding: .2em;
54 | padding-top: 1px;
55 | padding-bottom: 1px;
56 | background: #f8f8f8;
57 | border: 1px solid #dddddd;
58 | }
59 |
60 | .token.comment,
61 | .token.prolog,
62 | .token.doctype,
63 | .token.cdata {
64 | color: #008000;
65 | font-style: italic;
66 | }
67 |
68 | .token.namespace {
69 | opacity: .7;
70 | }
71 |
72 | .token.string {
73 | color: #A31515;
74 | }
75 |
76 | .token.punctuation,
77 | .token.operator {
78 | color: #393A34; /* no highlight */
79 | }
80 |
81 | .token.url,
82 | .token.symbol,
83 | .token.number,
84 | .token.boolean,
85 | .token.variable,
86 | .token.constant,
87 | .token.inserted {
88 | color: #36acaa;
89 | }
90 |
91 | .token.atrule,
92 | .token.keyword,
93 | .token.attr-value,
94 | .language-autohotkey .token.selector,
95 | .language-json .token.boolean,
96 | .language-json .token.number,
97 | code[class*="language-css"] {
98 | color: #0000ff;
99 | }
100 |
101 | .token.function {
102 | color: #393A34;
103 | }
104 |
105 | .token.deleted,
106 | .language-autohotkey .token.tag {
107 | color: #9a050f;
108 | }
109 |
110 | .token.selector,
111 | .language-autohotkey .token.keyword {
112 | color: #00009f;
113 | }
114 |
115 | .token.important {
116 | color: #e90;
117 | }
118 |
119 | .token.important,
120 | .token.bold {
121 | font-weight: bold;
122 | }
123 |
124 | .token.italic {
125 | font-style: italic;
126 | }
127 |
128 | .token.class-name,
129 | .language-json .token.property {
130 | color: #2B91AF;
131 | }
132 |
133 | .token.tag,
134 | .token.selector {
135 | color: #800000;
136 | }
137 |
138 | .token.attr-name,
139 | .token.property,
140 | .token.regex,
141 | .token.entity {
142 | color: #ff0000;
143 | }
144 |
145 | .token.directive.tag .tag {
146 | background: #ffff00;
147 | color: #393A34;
148 | }
149 |
150 | /* overrides color-values for the Line Numbers plugin
151 | * http://prismjs.com/plugins/line-numbers/
152 | */
153 | .line-numbers .line-numbers-rows {
154 | border-right-color: #a5a5a5;
155 | }
156 |
157 | .line-numbers-rows > span:before {
158 | color: #2B91AF;
159 | }
160 |
161 | /* overrides color-values for the Line Highlight plugin
162 | * http://prismjs.com/plugins/line-highlight/
163 | */
164 | .line-highlight {
165 | background: rgba(193, 222, 241, 0.2);
166 | background: -webkit-linear-gradient(left, rgba(193, 222, 241, 0.2) 70%, rgba(221, 222, 241, 0));
167 | background: linear-gradient(to right, rgba(193, 222, 241, 0.2) 70%, rgba(221, 222, 241, 0));
168 | }
169 |
--------------------------------------------------------------------------------
/templates/assets/libs/prism/themes/prism-cb.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Based on Plugin: Syntax Highlighter CB
3 | * Plugin URI: http://wp.tutsplus.com/tutorials/plugins/adding-a-syntax-highlighter-shortcode-using-prism-js
4 | * Description: Highlight your code snippets with an easy to use shortcode based on Lea Verou's Prism.js.
5 | * Version: 1.0.0
6 | * Author: c.bavota
7 | * Author URI: http://bavotasan.comhttp://wp.tutsplus.com/tutorials/plugins/adding-a-syntax-highlighter-shortcode-using-prism-js/ */
8 | /* http://cbavota.bitbucket.org/syntax-highlighter/ */
9 |
10 | /* ===== ===== */
11 | code[class*="language-"],
12 | pre[class*="language-"] {
13 | color: #fff;
14 | text-shadow: 0 1px 1px #000;
15 | font-family: Menlo, Monaco, "Courier New", monospace;
16 | direction: ltr;
17 | text-align: left;
18 | word-spacing: normal;
19 | white-space: pre;
20 | word-wrap: normal;
21 | line-height: 1.4;
22 | background: none;
23 | border: 0;
24 |
25 | -moz-tab-size: 4;
26 | -o-tab-size: 4;
27 | tab-size: 4;
28 |
29 | -webkit-hyphens: none;
30 | -moz-hyphens: none;
31 | -ms-hyphens: none;
32 | hyphens: none;
33 | }
34 |
35 | pre[class*="language-"] code {
36 | float: left;
37 | padding: 0 15px 0 0;
38 | }
39 |
40 | pre[class*="language-"],
41 | :not(pre) > code[class*="language-"] {
42 | background: #222;
43 | }
44 |
45 | /* Code blocks */
46 | pre[class*="language-"] {
47 | padding: 15px;
48 | margin: 1em 0;
49 | overflow: auto;
50 | -moz-border-radius: 8px;
51 | -webkit-border-radius: 8px;
52 | border-radius: 8px;
53 | }
54 |
55 | /* Inline code */
56 | :not(pre) > code[class*="language-"] {
57 | padding: 5px 10px;
58 | line-height: 1;
59 | -moz-border-radius: 3px;
60 | -webkit-border-radius: 3px;
61 | border-radius: 3px;
62 | }
63 |
64 | .token.comment,
65 | .token.prolog,
66 | .token.doctype,
67 | .token.cdata {
68 | color: #797979;
69 | }
70 |
71 | .token.selector,
72 | .token.operator,
73 | .token.punctuation {
74 | color: #fff;
75 | }
76 |
77 | .token.namespace {
78 | opacity: .7;
79 | }
80 |
81 | .token.tag,
82 | .token.boolean {
83 | color: #ffd893;
84 | }
85 |
86 | .token.atrule,
87 | .token.attr-value,
88 | .token.hex,
89 | .token.string {
90 | color: #B0C975;
91 | }
92 |
93 | .token.property,
94 | .token.entity,
95 | .token.url,
96 | .token.attr-name,
97 | .token.keyword {
98 | color: #c27628;
99 | }
100 |
101 | .token.regex {
102 | color: #9B71C6;
103 | }
104 |
105 | .token.entity {
106 | cursor: help;
107 | }
108 |
109 | .token.function,
110 | .token.constant {
111 | color: #e5a638;
112 | }
113 |
114 | .token.variable {
115 | color: #fdfba8;
116 | }
117 |
118 | .token.number {
119 | color: #8799B0;
120 | }
121 |
122 | .token.important,
123 | .token.deliminator {
124 | color: #E45734;
125 | }
126 |
127 | /* Line highlight plugin */
128 | pre[data-line] {
129 | position: relative;
130 | padding: 1em 0 1em 3em;
131 | }
132 |
133 | .line-highlight {
134 | position: absolute;
135 | left: 0;
136 | right: 0;
137 | margin-top: 1em; /* Same as .prism's padding-top */
138 | background: rgba(255, 255, 255, .2);
139 | pointer-events: none;
140 | line-height: inherit;
141 | white-space: pre;
142 | }
143 |
144 | .line-highlight:before,
145 | .line-highlight[data-end]:after {
146 | content: attr(data-start);
147 | position: absolute;
148 | top: .3em;
149 | left: .6em;
150 | min-width: 1em;
151 | padding: 0 .5em;
152 | background-color: rgba(255, 255, 255, .3);
153 | color: #fff;
154 | font: bold 65%/1.5 sans-serif;
155 | text-align: center;
156 | -moz-border-radius: 8px;
157 | -webkit-border-radius: 8px;
158 | border-radius: 8px;
159 | text-shadow: none;
160 | }
161 |
162 | .line-highlight[data-end]:after {
163 | content: attr(data-end);
164 | top: auto;
165 | bottom: .4em;
166 | }
167 |
168 | /* for line numbers */
169 | .line-numbers-rows {
170 | margin: 0;
171 | }
172 |
173 | .line-numbers-rows span {
174 | padding-right: 10px;
175 | border-right: 3px #d9d336 solid;
176 | }
177 |
--------------------------------------------------------------------------------
/templates/modules/head.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
14 |
16 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
66 |
67 |
68 |
69 |
70 |
87 |
88 |
89 |
--------------------------------------------------------------------------------
/templates/assets/css/error.css:
--------------------------------------------------------------------------------
1 | @import "https://fonts.googleapis.com/css?family=Fira+Sans";
2 |
3 | .left-section .inner-content {
4 | position: absolute;
5 | top: 50%;
6 | transform: translateY(-50%)
7 | }
8 |
9 | #not-found-page {
10 | margin: 0;
11 | padding: 0;
12 | color: var(--text-noraml)
13 | }
14 |
15 | .background {
16 | position: absolute;
17 | top: 0;
18 | left: 0;
19 | width: 100%;
20 | height: 100%;
21 | background: linear-gradient(var(--background-primary), var(--background-secondary));
22 | border-radius: 18px
23 | }
24 |
25 | .background .ground {
26 | --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);
27 | --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
28 | box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
29 | position: absolute;
30 | bottom: 0;
31 | width: 100%;
32 | height: 25vh;
33 | background: #0c0e10;
34 | border-bottom-left-radius: 18px;
35 | border-bottom-right-radius: 18px
36 | }
37 |
38 | @media (max-width: 770px) {
39 | .background .ground {
40 | height: 0
41 | }
42 | }
43 |
44 | .container {
45 | position: relative;
46 | margin: 0 auto;
47 | width: 85%;
48 | height: 100vh;
49 | padding-bottom: 25vh;
50 | display: flex;
51 | flex-direction: row;
52 | justify-content: space-around;
53 | border-radius: 18px
54 | }
55 |
56 | @media (max-width: 770px) {
57 | .container {
58 | flex-direction: column;
59 | padding-bottom: 0
60 | }
61 | }
62 |
63 | .left-section, .right-section {
64 | position: relative
65 | }
66 |
67 | .left-section {
68 | width: 40%
69 | }
70 |
71 | @media (max-width: 770px) {
72 | .left-section {
73 | width: 100%;
74 | height: 40%;
75 | position: absolute;
76 | top: 0
77 | }
78 |
79 | .left-section .inner-content {
80 | position: relative;
81 | padding: 1rem 0
82 | }
83 | }
84 |
85 | .heading {
86 | text-align: center;
87 | font-size: 9em;
88 | line-height: 1.3em;
89 | margin: 2rem 0 .5rem;
90 | padding: 0;
91 | text-shadow: 0 0 1rem #fefefe
92 | }
93 |
94 | @media (max-width: 770px) {
95 | .heading {
96 | font-size: 7em;
97 | line-height: 1.15;
98 | margin: 0
99 | }
100 | }
101 |
102 | .subheading {
103 | text-align: center;
104 | max-width: 480px;
105 | font-size: 1.5em;
106 | line-height: 1.15em;
107 | padding: 0 1rem;
108 | margin: 0 auto
109 | }
110 |
111 | @media (max-width: 770px) {
112 | .subheading {
113 | font-size: 1.3em;
114 | line-height: 1.15;
115 | max-width: 100%
116 | }
117 | }
118 |
119 | .right-section {
120 | width: 50%
121 | }
122 |
123 | @media (max-width: 770px) {
124 | .right-section {
125 | width: 100%;
126 | height: 60%;
127 | position: absolute;
128 | bottom: 0
129 | }
130 | }
131 |
132 | .svgimg {
133 | position: absolute;
134 | bottom: 0;
135 | padding-top: 10vh;
136 | padding-left: 1vh;
137 | max-width: 100%;
138 | max-height: 100%
139 | }
140 |
141 | @media (max-width: 770px) {
142 | .svgimg {
143 | padding: 0
144 | }
145 | }
146 |
147 | .svgimg .bench-legs {
148 | fill: #0c0e10
149 | }
150 |
151 | .svgimg .top-bench, .svgimg .bottom-bench {
152 | stroke: #0c0e10;
153 | stroke-width: 1px;
154 | fill: #5b3e2b
155 | }
156 |
157 | .svgimg .bottom-bench path:nth-child(1) {
158 | fill: #432d20
159 | }
160 |
161 | .svgimg .lamp-details {
162 | fill: #202425
163 | }
164 |
165 | .svgimg .lamp-accent {
166 | fill: #2c3133
167 | }
168 |
169 | .svgimg .lamp-bottom {
170 | fill: linear-gradient(#202425, #0c0e10)
171 | }
172 |
173 | .svgimg .lamp-light {
174 | fill: #efefef
175 | }
176 |
177 | @keyframes glow-777b95ee {
178 | 0% {
179 | text-shadow: 0 0 1rem #fefefe
180 | }
181 |
182 | 50% {
183 | text-shadow: 0 0 1.85rem #ededed
184 | }
185 |
186 | to {
187 | text-shadow: 0 0 1rem #fefefe
188 | }
189 | }
190 |
--------------------------------------------------------------------------------
/templates/assets/libs/prism/themes/prism-duotone-light.css:
--------------------------------------------------------------------------------
1 | /*
2 | Name: Duotone Light
3 | Author: Simurai, adapted from DuoTone themes for Atom (http://simurai.com/projects/2016/01/01/duotone-themes)
4 |
5 | Conversion: Bram de Haan (http://atelierbram.github.io/Base2Tone-prism/output/prism/prism-base2tone-morning-light.css)
6 | Generated with Base16 Builder (https://github.com/base16-builder/base16-builder)
7 | */
8 |
9 | code[class*="language-"],
10 | pre[class*="language-"] {
11 | font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace;
12 | font-size: 14px;
13 | line-height: 1.375;
14 | direction: ltr;
15 | text-align: left;
16 | white-space: pre;
17 | word-spacing: normal;
18 | word-break: normal;
19 |
20 | -moz-tab-size: 4;
21 | -o-tab-size: 4;
22 | tab-size: 4;
23 |
24 | -webkit-hyphens: none;
25 | -moz-hyphens: none;
26 | -ms-hyphens: none;
27 | hyphens: none;
28 | background: #faf8f5;
29 | color: #728fcb;
30 | }
31 |
32 | pre > code[class*="language-"] {
33 | font-size: 1em;
34 | }
35 |
36 | pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
37 | code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
38 | text-shadow: none;
39 | background: #faf8f5;
40 | }
41 |
42 | pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
43 | code[class*="language-"]::selection, code[class*="language-"] ::selection {
44 | text-shadow: none;
45 | background: #faf8f5;
46 | }
47 |
48 | /* Code blocks */
49 | pre[class*="language-"] {
50 | padding: 1em;
51 | margin: .5em 0;
52 | overflow: auto;
53 | }
54 |
55 | /* Inline code */
56 | :not(pre) > code[class*="language-"] {
57 | padding: .1em;
58 | border-radius: .3em;
59 | }
60 |
61 | .token.comment,
62 | .token.prolog,
63 | .token.doctype,
64 | .token.cdata {
65 | color: #b6ad9a;
66 | }
67 |
68 | .token.punctuation {
69 | color: #b6ad9a;
70 | }
71 |
72 | .token.namespace {
73 | opacity: .7;
74 | }
75 |
76 | .token.tag,
77 | .token.operator,
78 | .token.number {
79 | color: #063289;
80 | }
81 |
82 | .token.property,
83 | .token.function {
84 | color: #b29762;
85 | }
86 |
87 | .token.tag-id,
88 | .token.selector,
89 | .token.atrule-id {
90 | color: #2d2006;
91 | }
92 |
93 | code.language-javascript,
94 | .token.attr-name {
95 | color: #896724;
96 | }
97 |
98 | code.language-css,
99 | code.language-scss,
100 | .token.boolean,
101 | .token.string,
102 | .token.entity,
103 | .token.url,
104 | .language-css .token.string,
105 | .language-scss .token.string,
106 | .style .token.string,
107 | .token.attr-value,
108 | .token.keyword,
109 | .token.control,
110 | .token.directive,
111 | .token.unit,
112 | .token.statement,
113 | .token.regex,
114 | .token.atrule {
115 | color: #728fcb;
116 | }
117 |
118 | .token.placeholder,
119 | .token.variable {
120 | color: #93abdc;
121 | }
122 |
123 | .token.deleted {
124 | text-decoration: line-through;
125 | }
126 |
127 | .token.inserted {
128 | border-bottom: 1px dotted #2d2006;
129 | text-decoration: none;
130 | }
131 |
132 | .token.italic {
133 | font-style: italic;
134 | }
135 |
136 | .token.important,
137 | .token.bold {
138 | font-weight: bold;
139 | }
140 |
141 | .token.important {
142 | color: #896724;
143 | }
144 |
145 | .token.entity {
146 | cursor: help;
147 | }
148 |
149 | pre > code.highlight {
150 | outline: .4em solid #896724;
151 | outline-offset: .4em;
152 | }
153 |
154 | /* overrides color-values for the Line Numbers plugin
155 | * http://prismjs.com/plugins/line-numbers/
156 | */
157 | .line-numbers .line-numbers-rows {
158 | border-right-color: #ece8de;
159 | }
160 |
161 | .line-numbers-rows > span:before {
162 | color: #cdc4b1;
163 | }
164 |
165 | /* overrides color-values for the Line Highlight plugin
166 | * http://prismjs.com/plugins/line-highlight/
167 | */
168 | .line-highlight {
169 | background: rgba(45, 32, 6, 0.2);
170 | background: -webkit-linear-gradient(left, rgba(45, 32, 6, 0.2) 70%, rgba(45, 32, 6, 0));
171 | background: linear-gradient(to right, rgba(45, 32, 6, 0.2) 70%, rgba(45, 32, 6, 0));
172 | }
173 |
--------------------------------------------------------------------------------
/templates/assets/libs/prism/themes/prism-base16-ateliersulphurpool.light.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Name: Base16 Atelier Sulphurpool Light
4 | Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool)
5 |
6 | Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/)
7 | Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)
8 |
9 | */
10 | code[class*="language-"],
11 | pre[class*="language-"] {
12 | font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace;
13 | font-size: 14px;
14 | line-height: 1.375;
15 | direction: ltr;
16 | text-align: left;
17 | white-space: pre;
18 | word-spacing: normal;
19 | word-break: normal;
20 | -moz-tab-size: 4;
21 | -o-tab-size: 4;
22 | tab-size: 4;
23 | -webkit-hyphens: none;
24 | -moz-hyphens: none;
25 | -ms-hyphens: none;
26 | hyphens: none;
27 | background: #f5f7ff;
28 | color: #5e6687;
29 | }
30 |
31 | pre > code[class*="language-"] {
32 | font-size: 1em;
33 | }
34 |
35 | pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
36 | code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
37 | text-shadow: none;
38 | background: #dfe2f1;
39 | }
40 |
41 | pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
42 | code[class*="language-"]::selection, code[class*="language-"] ::selection {
43 | text-shadow: none;
44 | background: #dfe2f1;
45 | }
46 |
47 | /* Code blocks */
48 | pre[class*="language-"] {
49 | padding: 1em;
50 | margin: .5em 0;
51 | overflow: auto;
52 | }
53 |
54 | /* Inline code */
55 | :not(pre) > code[class*="language-"] {
56 | padding: .1em;
57 | border-radius: .3em;
58 | }
59 |
60 | .token.comment,
61 | .token.prolog,
62 | .token.doctype,
63 | .token.cdata {
64 | color: #898ea4;
65 | }
66 |
67 | .token.punctuation {
68 | color: #5e6687;
69 | }
70 |
71 | .token.namespace {
72 | opacity: .7;
73 | }
74 |
75 | .token.operator,
76 | .token.boolean,
77 | .token.number {
78 | color: #c76b29;
79 | }
80 |
81 | .token.property {
82 | color: #c08b30;
83 | }
84 |
85 | .token.tag {
86 | color: #3d8fd1;
87 | }
88 |
89 | .token.string {
90 | color: #22a2c9;
91 | }
92 |
93 | .token.selector {
94 | color: #6679cc;
95 | }
96 |
97 | .token.attr-name {
98 | color: #c76b29;
99 | }
100 |
101 | .token.entity,
102 | .token.url,
103 | .language-css .token.string,
104 | .style .token.string {
105 | color: #22a2c9;
106 | }
107 |
108 | .token.attr-value,
109 | .token.keyword,
110 | .token.control,
111 | .token.directive,
112 | .token.unit {
113 | color: #ac9739;
114 | }
115 |
116 | .token.statement,
117 | .token.regex,
118 | .token.atrule {
119 | color: #22a2c9;
120 | }
121 |
122 | .token.placeholder,
123 | .token.variable {
124 | color: #3d8fd1;
125 | }
126 |
127 | .token.deleted {
128 | text-decoration: line-through;
129 | }
130 |
131 | .token.inserted {
132 | border-bottom: 1px dotted #202746;
133 | text-decoration: none;
134 | }
135 |
136 | .token.italic {
137 | font-style: italic;
138 | }
139 |
140 | .token.important,
141 | .token.bold {
142 | font-weight: bold;
143 | }
144 |
145 | .token.important {
146 | color: #c94922;
147 | }
148 |
149 | .token.entity {
150 | cursor: help;
151 | }
152 |
153 | pre > code.highlight {
154 | outline: 0.4em solid #c94922;
155 | outline-offset: .4em;
156 | }
157 |
158 | /* overrides color-values for the Line Numbers plugin
159 | * http://prismjs.com/plugins/line-numbers/
160 | */
161 | .line-numbers .line-numbers-rows {
162 | border-right-color: #dfe2f1;
163 | }
164 |
165 | .line-numbers-rows > span:before {
166 | color: #979db4;
167 | }
168 |
169 | /* overrides color-values for the Line Highlight plugin
170 | * http://prismjs.com/plugins/line-highlight/
171 | */
172 | .line-highlight {
173 | background: rgba(107, 115, 148, 0.2);
174 | background: -webkit-linear-gradient(left, rgba(107, 115, 148, 0.2) 70%, rgba(107, 115, 148, 0));
175 | background: linear-gradient(to right, rgba(107, 115, 148, 0.2) 70%, rgba(107, 115, 148, 0));
176 | }
177 |
--------------------------------------------------------------------------------
/templates/assets/libs/prism/themes/prism-duotone-dark.css:
--------------------------------------------------------------------------------
1 | /*
2 | Name: Duotone Dark
3 | Author: Simurai, adapted from DuoTone themes for Atom (http://simurai.com/projects/2016/01/01/duotone-themes)
4 |
5 | Conversion: Bram de Haan (http://atelierbram.github.io/Base2Tone-prism/output/prism/prism-base2tone-evening-dark.css)
6 | Generated with Base16 Builder (https://github.com/base16-builder/base16-builder)
7 | */
8 |
9 | code[class*="language-"],
10 | pre[class*="language-"] {
11 | font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace;
12 | font-size: 14px;
13 | line-height: 1.375;
14 | direction: ltr;
15 | text-align: left;
16 | white-space: pre;
17 | word-spacing: normal;
18 | word-break: normal;
19 |
20 | -moz-tab-size: 4;
21 | -o-tab-size: 4;
22 | tab-size: 4;
23 |
24 | -webkit-hyphens: none;
25 | -moz-hyphens: none;
26 | -ms-hyphens: none;
27 | hyphens: none;
28 | background: #2a2734;
29 | color: #9a86fd;
30 | }
31 |
32 | pre > code[class*="language-"] {
33 | font-size: 1em;
34 | }
35 |
36 | pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
37 | code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
38 | text-shadow: none;
39 | background: #6a51e6;
40 | }
41 |
42 | pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
43 | code[class*="language-"]::selection, code[class*="language-"] ::selection {
44 | text-shadow: none;
45 | background: #6a51e6;
46 | }
47 |
48 | /* Code blocks */
49 | pre[class*="language-"] {
50 | padding: 1em;
51 | margin: .5em 0;
52 | overflow: auto;
53 | }
54 |
55 | /* Inline code */
56 | :not(pre) > code[class*="language-"] {
57 | padding: .1em;
58 | border-radius: .3em;
59 | }
60 |
61 | .token.comment,
62 | .token.prolog,
63 | .token.doctype,
64 | .token.cdata {
65 | color: #6c6783;
66 | }
67 |
68 | .token.punctuation {
69 | color: #6c6783;
70 | }
71 |
72 | .token.namespace {
73 | opacity: .7;
74 | }
75 |
76 | .token.tag,
77 | .token.operator,
78 | .token.number {
79 | color: #e09142;
80 | }
81 |
82 | .token.property,
83 | .token.function {
84 | color: #9a86fd;
85 | }
86 |
87 | .token.tag-id,
88 | .token.selector,
89 | .token.atrule-id {
90 | color: #eeebff;
91 | }
92 |
93 | code.language-javascript,
94 | .token.attr-name {
95 | color: #c4b9fe;
96 | }
97 |
98 | code.language-css,
99 | code.language-scss,
100 | .token.boolean,
101 | .token.string,
102 | .token.entity,
103 | .token.url,
104 | .language-css .token.string,
105 | .language-scss .token.string,
106 | .style .token.string,
107 | .token.attr-value,
108 | .token.keyword,
109 | .token.control,
110 | .token.directive,
111 | .token.unit,
112 | .token.statement,
113 | .token.regex,
114 | .token.atrule {
115 | color: #ffcc99;
116 | }
117 |
118 | .token.placeholder,
119 | .token.variable {
120 | color: #ffcc99;
121 | }
122 |
123 | .token.deleted {
124 | text-decoration: line-through;
125 | }
126 |
127 | .token.inserted {
128 | border-bottom: 1px dotted #eeebff;
129 | text-decoration: none;
130 | }
131 |
132 | .token.italic {
133 | font-style: italic;
134 | }
135 |
136 | .token.important,
137 | .token.bold {
138 | font-weight: bold;
139 | }
140 |
141 | .token.important {
142 | color: #c4b9fe;
143 | }
144 |
145 | .token.entity {
146 | cursor: help;
147 | }
148 |
149 | pre > code.highlight {
150 | outline: .4em solid #8a75f5;
151 | outline-offset: .4em;
152 | }
153 |
154 | /* overrides color-values for the Line Numbers plugin
155 | * http://prismjs.com/plugins/line-numbers/
156 | */
157 | .line-numbers .line-numbers-rows {
158 | border-right-color: #2c2937;
159 | }
160 |
161 | .line-numbers-rows > span:before {
162 | color: #3c3949;
163 | }
164 |
165 | /* overrides color-values for the Line Highlight plugin
166 | * http://prismjs.com/plugins/line-highlight/
167 | */
168 | .line-highlight {
169 | background: rgba(224, 145, 66, 0.2);
170 | background: -webkit-linear-gradient(left, rgba(224, 145, 66, 0.2) 70%, rgba(224, 145, 66, 0));
171 | background: linear-gradient(to right, rgba(224, 145, 66, 0.2) 70%, rgba(224, 145, 66, 0));
172 | }
173 |
--------------------------------------------------------------------------------
/templates/assets/libs/prism/themes/prism-duotone-space.css:
--------------------------------------------------------------------------------
1 | /*
2 | Name: Duotone Space
3 | Author: Simurai, adapted from DuoTone themes for Atom (http://simurai.com/projects/2016/01/01/duotone-themes)
4 |
5 | Conversion: Bram de Haan (http://atelierbram.github.io/Base2Tone-prism/output/prism/prism-base2tone-space-dark.css)
6 | Generated with Base16 Builder (https://github.com/base16-builder/base16-builder)
7 | */
8 |
9 | code[class*="language-"],
10 | pre[class*="language-"] {
11 | font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace;
12 | font-size: 14px;
13 | line-height: 1.375;
14 | direction: ltr;
15 | text-align: left;
16 | white-space: pre;
17 | word-spacing: normal;
18 | word-break: normal;
19 |
20 | -moz-tab-size: 4;
21 | -o-tab-size: 4;
22 | tab-size: 4;
23 |
24 | -webkit-hyphens: none;
25 | -moz-hyphens: none;
26 | -ms-hyphens: none;
27 | hyphens: none;
28 | background: #24242e;
29 | color: #767693;
30 | }
31 |
32 | pre > code[class*="language-"] {
33 | font-size: 1em;
34 | }
35 |
36 | pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
37 | code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
38 | text-shadow: none;
39 | background: #5151e6;
40 | }
41 |
42 | pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
43 | code[class*="language-"]::selection, code[class*="language-"] ::selection {
44 | text-shadow: none;
45 | background: #5151e6;
46 | }
47 |
48 | /* Code blocks */
49 | pre[class*="language-"] {
50 | padding: 1em;
51 | margin: .5em 0;
52 | overflow: auto;
53 | }
54 |
55 | /* Inline code */
56 | :not(pre) > code[class*="language-"] {
57 | padding: .1em;
58 | border-radius: .3em;
59 | }
60 |
61 | .token.comment,
62 | .token.prolog,
63 | .token.doctype,
64 | .token.cdata {
65 | color: #5b5b76;
66 | }
67 |
68 | .token.punctuation {
69 | color: #5b5b76;
70 | }
71 |
72 | .token.namespace {
73 | opacity: .7;
74 | }
75 |
76 | .token.tag,
77 | .token.operator,
78 | .token.number {
79 | color: #dd672c;
80 | }
81 |
82 | .token.property,
83 | .token.function {
84 | color: #767693;
85 | }
86 |
87 | .token.tag-id,
88 | .token.selector,
89 | .token.atrule-id {
90 | color: #ebebff;
91 | }
92 |
93 | code.language-javascript,
94 | .token.attr-name {
95 | color: #aaaaca;
96 | }
97 |
98 | code.language-css,
99 | code.language-scss,
100 | .token.boolean,
101 | .token.string,
102 | .token.entity,
103 | .token.url,
104 | .language-css .token.string,
105 | .language-scss .token.string,
106 | .style .token.string,
107 | .token.attr-value,
108 | .token.keyword,
109 | .token.control,
110 | .token.directive,
111 | .token.unit,
112 | .token.statement,
113 | .token.regex,
114 | .token.atrule {
115 | color: #fe8c52;
116 | }
117 |
118 | .token.placeholder,
119 | .token.variable {
120 | color: #fe8c52;
121 | }
122 |
123 | .token.deleted {
124 | text-decoration: line-through;
125 | }
126 |
127 | .token.inserted {
128 | border-bottom: 1px dotted #ebebff;
129 | text-decoration: none;
130 | }
131 |
132 | .token.italic {
133 | font-style: italic;
134 | }
135 |
136 | .token.important,
137 | .token.bold {
138 | font-weight: bold;
139 | }
140 |
141 | .token.important {
142 | color: #aaaaca;
143 | }
144 |
145 | .token.entity {
146 | cursor: help;
147 | }
148 |
149 | pre > code.highlight {
150 | outline: .4em solid #7676f4;
151 | outline-offset: .4em;
152 | }
153 |
154 | /* overrides color-values for the Line Numbers plugin
155 | * http://prismjs.com/plugins/line-numbers/
156 | */
157 | .line-numbers .line-numbers-rows {
158 | border-right-color: #262631;
159 | }
160 |
161 | .line-numbers-rows > span:before {
162 | color: #393949;
163 | }
164 |
165 | /* overrides color-values for the Line Highlight plugin
166 | * http://prismjs.com/plugins/line-highlight/
167 | */
168 | .line-highlight {
169 | background: rgba(221, 103, 44, 0.2);
170 | background: -webkit-linear-gradient(left, rgba(221, 103, 44, 0.2) 70%, rgba(221, 103, 44, 0));
171 | background: linear-gradient(to right, rgba(221, 103, 44, 0.2) 70%, rgba(221, 103, 44, 0));
172 | }
173 |
--------------------------------------------------------------------------------
/templates/assets/libs/prism/themes/prism-duotone-earth.css:
--------------------------------------------------------------------------------
1 | /*
2 | Name: Duotone Earth
3 | Author: Simurai, adapted from DuoTone themes for Atom (http://simurai.com/projects/2016/01/01/duotone-themes)
4 |
5 | Conversion: Bram de Haan (http://atelierbram.github.io/Base2Tone-prism/output/prism/prism-base2tone-earth-dark.css)
6 | Generated with Base16 Builder (https://github.com/base16-builder/base16-builder)
7 | */
8 |
9 | code[class*="language-"],
10 | pre[class*="language-"] {
11 | font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace;
12 | font-size: 14px;
13 | line-height: 1.375;
14 | direction: ltr;
15 | text-align: left;
16 | white-space: pre;
17 | word-spacing: normal;
18 | word-break: normal;
19 |
20 | -moz-tab-size: 4;
21 | -o-tab-size: 4;
22 | tab-size: 4;
23 |
24 | -webkit-hyphens: none;
25 | -moz-hyphens: none;
26 | -ms-hyphens: none;
27 | hyphens: none;
28 | background: #322d29;
29 | color: #88786d;
30 | }
31 |
32 | pre > code[class*="language-"] {
33 | font-size: 1em;
34 | }
35 |
36 | pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
37 | code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
38 | text-shadow: none;
39 | background: #6f5849;
40 | }
41 |
42 | pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
43 | code[class*="language-"]::selection, code[class*="language-"] ::selection {
44 | text-shadow: none;
45 | background: #6f5849;
46 | }
47 |
48 | /* Code blocks */
49 | pre[class*="language-"] {
50 | padding: 1em;
51 | margin: .5em 0;
52 | overflow: auto;
53 | }
54 |
55 | /* Inline code */
56 | :not(pre) > code[class*="language-"] {
57 | padding: .1em;
58 | border-radius: .3em;
59 | }
60 |
61 | .token.comment,
62 | .token.prolog,
63 | .token.doctype,
64 | .token.cdata {
65 | color: #6a5f58;
66 | }
67 |
68 | .token.punctuation {
69 | color: #6a5f58;
70 | }
71 |
72 | .token.namespace {
73 | opacity: .7;
74 | }
75 |
76 | .token.tag,
77 | .token.operator,
78 | .token.number {
79 | color: #bfa05a;
80 | }
81 |
82 | .token.property,
83 | .token.function {
84 | color: #88786d;
85 | }
86 |
87 | .token.tag-id,
88 | .token.selector,
89 | .token.atrule-id {
90 | color: #fff3eb;
91 | }
92 |
93 | code.language-javascript,
94 | .token.attr-name {
95 | color: #a48774;
96 | }
97 |
98 | code.language-css,
99 | code.language-scss,
100 | .token.boolean,
101 | .token.string,
102 | .token.entity,
103 | .token.url,
104 | .language-css .token.string,
105 | .language-scss .token.string,
106 | .style .token.string,
107 | .token.attr-value,
108 | .token.keyword,
109 | .token.control,
110 | .token.directive,
111 | .token.unit,
112 | .token.statement,
113 | .token.regex,
114 | .token.atrule {
115 | color: #fcc440;
116 | }
117 |
118 | .token.placeholder,
119 | .token.variable {
120 | color: #fcc440;
121 | }
122 |
123 | .token.deleted {
124 | text-decoration: line-through;
125 | }
126 |
127 | .token.inserted {
128 | border-bottom: 1px dotted #fff3eb;
129 | text-decoration: none;
130 | }
131 |
132 | .token.italic {
133 | font-style: italic;
134 | }
135 |
136 | .token.important,
137 | .token.bold {
138 | font-weight: bold;
139 | }
140 |
141 | .token.important {
142 | color: #a48774;
143 | }
144 |
145 | .token.entity {
146 | cursor: help;
147 | }
148 |
149 | pre > code.highlight {
150 | outline: .4em solid #816d5f;
151 | outline-offset: .4em;
152 | }
153 |
154 | /* overrides color-values for the Line Numbers plugin
155 | * http://prismjs.com/plugins/line-numbers/
156 | */
157 | .line-numbers .line-numbers-rows {
158 | border-right-color: #35302b;
159 | }
160 |
161 | .line-numbers-rows > span:before {
162 | color: #46403d;
163 | }
164 |
165 | /* overrides color-values for the Line Highlight plugin
166 | * http://prismjs.com/plugins/line-highlight/
167 | */
168 | .line-highlight {
169 | background: rgba(191, 160, 90, 0.2);
170 | background: -webkit-linear-gradient(left, rgba(191, 160, 90, 0.2) 70%, rgba(191, 160, 90, 0));
171 | background: linear-gradient(to right, rgba(191, 160, 90, 0.2) 70%, rgba(191, 160, 90, 0));
172 | }
173 |
--------------------------------------------------------------------------------
/templates/assets/libs/prism/themes/prism-duotone-forest.css:
--------------------------------------------------------------------------------
1 | /*
2 | Name: Duotone Forest
3 | Author: by Simurai, adapted from DuoTone themes for Atom (http://simurai.com/projects/2016/01/01/duotone-themes)
4 |
5 | Conversion: Bram de Haan (http://atelierbram.github.io/Base2Tone-prism/output/prism/prism-base2tone-forest-dark.css)
6 | Generated with Base16 Builder (https://github.com/base16-builder/base16-builder)
7 | */
8 |
9 | code[class*="language-"],
10 | pre[class*="language-"] {
11 | font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace;
12 | font-size: 14px;
13 | line-height: 1.375;
14 | direction: ltr;
15 | text-align: left;
16 | white-space: pre;
17 | word-spacing: normal;
18 | word-break: normal;
19 |
20 | -moz-tab-size: 4;
21 | -o-tab-size: 4;
22 | tab-size: 4;
23 |
24 | -webkit-hyphens: none;
25 | -moz-hyphens: none;
26 | -ms-hyphens: none;
27 | hyphens: none;
28 | background: #2a2d2a;
29 | color: #687d68;
30 | }
31 |
32 | pre > code[class*="language-"] {
33 | font-size: 1em;
34 | }
35 |
36 | pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
37 | code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
38 | text-shadow: none;
39 | background: #435643;
40 | }
41 |
42 | pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
43 | code[class*="language-"]::selection, code[class*="language-"] ::selection {
44 | text-shadow: none;
45 | background: #435643;
46 | }
47 |
48 | /* Code blocks */
49 | pre[class*="language-"] {
50 | padding: 1em;
51 | margin: .5em 0;
52 | overflow: auto;
53 | }
54 |
55 | /* Inline code */
56 | :not(pre) > code[class*="language-"] {
57 | padding: .1em;
58 | border-radius: .3em;
59 | }
60 |
61 | .token.comment,
62 | .token.prolog,
63 | .token.doctype,
64 | .token.cdata {
65 | color: #535f53;
66 | }
67 |
68 | .token.punctuation {
69 | color: #535f53;
70 | }
71 |
72 | .token.namespace {
73 | opacity: .7;
74 | }
75 |
76 | .token.tag,
77 | .token.operator,
78 | .token.number {
79 | color: #a2b34d;
80 | }
81 |
82 | .token.property,
83 | .token.function {
84 | color: #687d68;
85 | }
86 |
87 | .token.tag-id,
88 | .token.selector,
89 | .token.atrule-id {
90 | color: #f0fff0;
91 | }
92 |
93 | code.language-javascript,
94 | .token.attr-name {
95 | color: #b3d6b3;
96 | }
97 |
98 | code.language-css,
99 | code.language-scss,
100 | .token.boolean,
101 | .token.string,
102 | .token.entity,
103 | .token.url,
104 | .language-css .token.string,
105 | .language-scss .token.string,
106 | .style .token.string,
107 | .token.attr-value,
108 | .token.keyword,
109 | .token.control,
110 | .token.directive,
111 | .token.unit,
112 | .token.statement,
113 | .token.regex,
114 | .token.atrule {
115 | color: #e5fb79;
116 | }
117 |
118 | .token.placeholder,
119 | .token.variable {
120 | color: #e5fb79;
121 | }
122 |
123 | .token.deleted {
124 | text-decoration: line-through;
125 | }
126 |
127 | .token.inserted {
128 | border-bottom: 1px dotted #f0fff0;
129 | text-decoration: none;
130 | }
131 |
132 | .token.italic {
133 | font-style: italic;
134 | }
135 |
136 | .token.important,
137 | .token.bold {
138 | font-weight: bold;
139 | }
140 |
141 | .token.important {
142 | color: #b3d6b3;
143 | }
144 |
145 | .token.entity {
146 | cursor: help;
147 | }
148 |
149 | pre > code.highlight {
150 | outline: .4em solid #5c705c;
151 | outline-offset: .4em;
152 | }
153 |
154 | /* overrides color-values for the Line Numbers plugin
155 | * http://prismjs.com/plugins/line-numbers/
156 | */
157 | .line-numbers .line-numbers-rows {
158 | border-right-color: #2c302c;
159 | }
160 |
161 | .line-numbers-rows > span:before {
162 | color: #3b423b;
163 | }
164 |
165 | /* overrides color-values for the Line Highlight plugin
166 | * http://prismjs.com/plugins/line-highlight/
167 | */
168 | .line-highlight {
169 | background: rgba(162, 179, 77, 0.2);
170 | background: -webkit-linear-gradient(left, rgba(162, 179, 77, 0.2) 70%, rgba(162, 179, 77, 0));
171 | background: linear-gradient(to right, rgba(162, 179, 77, 0.2) 70%, rgba(162, 179, 77, 0));
172 | }
173 |
--------------------------------------------------------------------------------
/templates/assets/libs/prism/themes/prism-duotone-sea.css:
--------------------------------------------------------------------------------
1 | /*
2 | Name: Duotone Sea
3 | Author: by Simurai, adapted from DuoTone themes by Simurai for Atom (http://simurai.com/projects/2016/01/01/duotone-themes)
4 |
5 | Conversion: Bram de Haan (http://atelierbram.github.io/Base2Tone-prism/output/prism/prism-base2tone-sea-dark.css)
6 | Generated with Base16 Builder (https://github.com/base16-builder/base16-builder)
7 | */
8 |
9 | code[class*="language-"],
10 | pre[class*="language-"] {
11 | font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace;
12 | font-size: 14px;
13 | line-height: 1.375;
14 | direction: ltr;
15 | text-align: left;
16 | white-space: pre;
17 | word-spacing: normal;
18 | word-break: normal;
19 |
20 | -moz-tab-size: 4;
21 | -o-tab-size: 4;
22 | tab-size: 4;
23 |
24 | -webkit-hyphens: none;
25 | -moz-hyphens: none;
26 | -ms-hyphens: none;
27 | hyphens: none;
28 | background: #1d262f;
29 | color: #57718e;
30 | }
31 |
32 | pre > code[class*="language-"] {
33 | font-size: 1em;
34 | }
35 |
36 | pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
37 | code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
38 | text-shadow: none;
39 | background: #004a9e;
40 | }
41 |
42 | pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
43 | code[class*="language-"]::selection, code[class*="language-"] ::selection {
44 | text-shadow: none;
45 | background: #004a9e;
46 | }
47 |
48 | /* Code blocks */
49 | pre[class*="language-"] {
50 | padding: 1em;
51 | margin: .5em 0;
52 | overflow: auto;
53 | }
54 |
55 | /* Inline code */
56 | :not(pre) > code[class*="language-"] {
57 | padding: .1em;
58 | border-radius: .3em;
59 | }
60 |
61 | .token.comment,
62 | .token.prolog,
63 | .token.doctype,
64 | .token.cdata {
65 | color: #4a5f78;
66 | }
67 |
68 | .token.punctuation {
69 | color: #4a5f78;
70 | }
71 |
72 | .token.namespace {
73 | opacity: .7;
74 | }
75 |
76 | .token.tag,
77 | .token.operator,
78 | .token.number {
79 | color: #0aa370;
80 | }
81 |
82 | .token.property,
83 | .token.function {
84 | color: #57718e;
85 | }
86 |
87 | .token.tag-id,
88 | .token.selector,
89 | .token.atrule-id {
90 | color: #ebf4ff;
91 | }
92 |
93 | code.language-javascript,
94 | .token.attr-name {
95 | color: #7eb6f6;
96 | }
97 |
98 | code.language-css,
99 | code.language-scss,
100 | .token.boolean,
101 | .token.string,
102 | .token.entity,
103 | .token.url,
104 | .language-css .token.string,
105 | .language-scss .token.string,
106 | .style .token.string,
107 | .token.attr-value,
108 | .token.keyword,
109 | .token.control,
110 | .token.directive,
111 | .token.unit,
112 | .token.statement,
113 | .token.regex,
114 | .token.atrule {
115 | color: #47ebb4;
116 | }
117 |
118 | .token.placeholder,
119 | .token.variable {
120 | color: #47ebb4;
121 | }
122 |
123 | .token.deleted {
124 | text-decoration: line-through;
125 | }
126 |
127 | .token.inserted {
128 | border-bottom: 1px dotted #ebf4ff;
129 | text-decoration: none;
130 | }
131 |
132 | .token.italic {
133 | font-style: italic;
134 | }
135 |
136 | .token.important,
137 | .token.bold {
138 | font-weight: bold;
139 | }
140 |
141 | .token.important {
142 | color: #7eb6f6;
143 | }
144 |
145 | .token.entity {
146 | cursor: help;
147 | }
148 |
149 | pre > code.highlight {
150 | outline: .4em solid #34659d;
151 | outline-offset: .4em;
152 | }
153 |
154 | /* overrides color-values for the Line Numbers plugin
155 | * http://prismjs.com/plugins/line-numbers/
156 | */
157 | .line-numbers .line-numbers-rows {
158 | border-right-color: #1f2932;
159 | }
160 |
161 | .line-numbers-rows > span:before {
162 | color: #2c3847;
163 | }
164 |
165 | /* overrides color-values for the Line Highlight plugin
166 | * http://prismjs.com/plugins/line-highlight/
167 | */
168 | .line-highlight {
169 | background: rgba(10, 163, 112, 0.2);
170 | background: -webkit-linear-gradient(left, rgba(10, 163, 112, 0.2) 70%, rgba(10, 163, 112, 0));
171 | background: linear-gradient(to right, rgba(10, 163, 112, 0.2) 70%, rgba(10, 163, 112, 0));
172 | }
173 |
--------------------------------------------------------------------------------
/templates/assets/libs/prism/themes/prism-xonokai.css:
--------------------------------------------------------------------------------
1 | /**
2 | * xonokai theme for JavaScript, CSS and HTML
3 | * based on: https://github.com/MoOx/sass-prism-theme-base by Maxime Thirouin ~ MoOx --> http://moox.fr/ , which is Loosely based on Monokai textmate theme by http://www.monokai.nl/
4 | * license: MIT; http://moox.mit-license.org/
5 | */
6 | code[class*="language-"],
7 | pre[class*="language-"] {
8 | -moz-tab-size: 2;
9 | -o-tab-size: 2;
10 | tab-size: 2;
11 | -webkit-hyphens: none;
12 | -moz-hyphens: none;
13 | -ms-hyphens: none;
14 | hyphens: none;
15 | white-space: pre;
16 | white-space: pre-wrap;
17 | word-wrap: normal;
18 | font-family: Menlo, Monaco, "Courier New", monospace;
19 | font-size: 14px;
20 | color: #76d9e6;
21 | text-shadow: none;
22 | }
23 |
24 | pre > code[class*="language-"] {
25 | font-size: 1em;
26 | }
27 |
28 | pre[class*="language-"],
29 | :not(pre) > code[class*="language-"] {
30 | background: #2a2a2a;
31 | }
32 |
33 | pre[class*="language-"] {
34 | padding: 15px;
35 | border-radius: 4px;
36 | border: 1px solid #e1e1e8;
37 | overflow: auto;
38 | position: relative;
39 | }
40 |
41 | pre[class*="language-"] code {
42 | white-space: pre;
43 | display: block;
44 | }
45 |
46 | :not(pre) > code[class*="language-"] {
47 | padding: 0.15em 0.2em 0.05em;
48 | border-radius: .3em;
49 | border: 0.13em solid #7a6652;
50 | box-shadow: 1px 1px 0.3em -0.1em #000 inset;
51 | }
52 |
53 | .token.namespace {
54 | opacity: .7;
55 | }
56 |
57 | .token.comment,
58 | .token.prolog,
59 | .token.doctype,
60 | .token.cdata {
61 | color: #6f705e;
62 | }
63 |
64 | .token.operator,
65 | .token.boolean,
66 | .token.number {
67 | color: #a77afe;
68 | }
69 |
70 | .token.attr-name,
71 | .token.string {
72 | color: #e6d06c;
73 | }
74 |
75 | .token.entity,
76 | .token.url,
77 | .language-css .token.string,
78 | .style .token.string {
79 | color: #e6d06c;
80 | }
81 |
82 | .token.selector,
83 | .token.inserted {
84 | color: #a6e22d;
85 | }
86 |
87 | .token.atrule,
88 | .token.attr-value,
89 | .token.keyword,
90 | .token.important,
91 | .token.deleted {
92 | color: #ef3b7d;
93 | }
94 |
95 | .token.regex,
96 | .token.statement {
97 | color: #76d9e6;
98 | }
99 |
100 | .token.placeholder,
101 | .token.variable {
102 | color: #fff;
103 | }
104 |
105 | .token.important,
106 | .token.statement,
107 | .token.bold {
108 | font-weight: bold;
109 | }
110 |
111 | .token.punctuation {
112 | color: #bebec5;
113 | }
114 |
115 | .token.entity {
116 | cursor: help;
117 | }
118 |
119 | .token.italic {
120 | font-style: italic;
121 | }
122 |
123 | code.language-markup {
124 | color: #f9f9f9;
125 | }
126 |
127 | code.language-markup .token.tag {
128 | color: #ef3b7d;
129 | }
130 |
131 | code.language-markup .token.attr-name {
132 | color: #a6e22d;
133 | }
134 |
135 | code.language-markup .token.attr-value {
136 | color: #e6d06c;
137 | }
138 |
139 | code.language-markup .token.style,
140 | code.language-markup .token.script {
141 | color: #76d9e6;
142 | }
143 |
144 | code.language-markup .token.script .token.keyword {
145 | color: #76d9e6;
146 | }
147 |
148 | /* Line highlight plugin */
149 | pre[class*="language-"][data-line] {
150 | position: relative;
151 | padding: 1em 0 1em 3em;
152 | }
153 |
154 | pre[data-line] .line-highlight {
155 | position: absolute;
156 | left: 0;
157 | right: 0;
158 | padding: 0;
159 | margin-top: 1em;
160 | background: rgba(255, 255, 255, 0.08);
161 | pointer-events: none;
162 | line-height: inherit;
163 | white-space: pre;
164 | }
165 |
166 | pre[data-line] .line-highlight:before,
167 | pre[data-line] .line-highlight[data-end]:after {
168 | content: attr(data-start);
169 | position: absolute;
170 | top: .4em;
171 | left: .6em;
172 | min-width: 1em;
173 | padding: 0.2em 0.5em;
174 | background-color: rgba(255, 255, 255, 0.4);
175 | color: black;
176 | font: bold 65%/1 sans-serif;
177 | height: 1em;
178 | line-height: 1em;
179 | text-align: center;
180 | border-radius: 999px;
181 | text-shadow: none;
182 | box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);
183 | }
184 |
185 | pre[data-line] .line-highlight[data-end]:after {
186 | content: attr(data-end);
187 | top: auto;
188 | bottom: .4em;
189 | }
190 |
--------------------------------------------------------------------------------
/templates/modules/common/mobile-sidebar.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
66 |
67 |
--------------------------------------------------------------------------------
/templates/assets/libs/prism/themes/prism-shades-of-purple.css:
--------------------------------------------------------------------------------
1 | /**
2 | * Shades of Purple Theme for Prism.js
3 | *
4 | * @author Ahmad Awais
5 | * @support Follow/tweet at https://twitter.com/MrAhmadAwais/
6 | */
7 |
8 | code[class*='language-'],
9 | pre[class*='language-'] {
10 | color: #9efeff;
11 | direction: ltr;
12 | text-align: left;
13 | white-space: pre;
14 | word-spacing: normal;
15 | word-break: normal;
16 |
17 | -moz-tab-size: 4;
18 | -o-tab-size: 4;
19 | tab-size: 4;
20 |
21 | -webkit-hyphens: none;
22 | -moz-hyphens: none;
23 | -ms-hyphens: none;
24 | hyphens: none;
25 |
26 | font-family: 'Operator Mono', 'Fira Code', Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
27 | font-weight: 400;
28 | font-size: 17px;
29 | line-height: 25px;
30 | letter-spacing: 0.5px;
31 | text-shadow: 0 1px #222245;
32 | }
33 |
34 | pre[class*='language-']::-moz-selection,
35 | pre[class*='language-'] ::-moz-selection,
36 | code[class*='language-']::-moz-selection,
37 | code[class*='language-'] ::-moz-selection,
38 | pre[class*='language-']::selection,
39 | pre[class*='language-'] ::selection,
40 | code[class*='language-']::selection,
41 | code[class*='language-'] ::selection {
42 | color: inherit;
43 | background: #a599e9;
44 | }
45 |
46 | /* Code blocks. */
47 | pre[class*='language-'] {
48 | padding: 2em;
49 | margin: 0.5em 0;
50 | overflow: auto;
51 | }
52 |
53 | :not(pre) > code[class*='language-'],
54 | pre[class*='language-'] {
55 | background: #1e1e3f;
56 | }
57 |
58 | /* Inline code */
59 | :not(pre) > code[class*='language-'] {
60 | padding: 0.1em;
61 | border-radius: 0.3em;
62 | }
63 |
64 | .token {
65 | font-weight: 400;
66 | }
67 |
68 | .token.comment,
69 | .token.prolog,
70 | .token.cdata {
71 | color: #b362ff;
72 | }
73 |
74 | .token.delimiter,
75 | .token.keyword,
76 | .token.selector,
77 | .token.important,
78 | .token.atrule {
79 | color: #ff9d00;
80 | }
81 |
82 | .token.operator,
83 | .token.attr-name {
84 | color: rgb(255, 180, 84);
85 | }
86 |
87 | .token.punctuation {
88 | color: #ffffff;
89 | }
90 |
91 | .token.boolean {
92 | color: rgb(255, 98, 140);
93 | }
94 |
95 | .token.tag,
96 | .token.tag .punctuation,
97 | .token.doctype,
98 | .token.builtin {
99 | color: rgb(255, 157, 0);
100 | }
101 |
102 | .token.entity,
103 | .token.symbol {
104 | color: #6897bb;
105 | }
106 |
107 | .token.number {
108 | color: #ff628c;
109 | }
110 |
111 | .token.property,
112 | .token.constant,
113 | .token.variable {
114 | color: #ff628c;
115 | }
116 |
117 | .token.string,
118 | .token.char {
119 | color: #a5ff90;
120 | }
121 |
122 | .token.attr-value,
123 | .token.attr-value .punctuation {
124 | color: #a5c261;
125 | }
126 |
127 | .token.attr-value .punctuation:first-child {
128 | color: #a9b7c6;
129 | }
130 |
131 | .token.url {
132 | color: #287bde;
133 | text-decoration: underline;
134 | }
135 |
136 | .token.function {
137 | color: rgb(250, 208, 0);
138 | }
139 |
140 | .token.regex {
141 | background: #364135;
142 | }
143 |
144 | .token.bold {
145 | font-weight: bold;
146 | }
147 |
148 | .token.italic {
149 | font-style: italic;
150 | }
151 |
152 | .token.inserted {
153 | background: #00ff00;
154 | }
155 |
156 | .token.deleted {
157 | background: #ff000d;
158 | }
159 |
160 | code.language-css .token.property,
161 | code.language-css .token.property + .token.punctuation {
162 | color: #a9b7c6;
163 | }
164 |
165 | code.language-css .token.id {
166 | color: #ffc66d;
167 | }
168 |
169 | code.language-css .token.selector > .token.class,
170 | code.language-css .token.selector > .token.attribute,
171 | code.language-css .token.selector > .token.pseudo-class,
172 | code.language-css .token.selector > .token.pseudo-element {
173 | color: #ffc66d;
174 | }
175 |
176 | .token.class-name {
177 | color: #fb94ff;
178 | }
179 |
180 | .token.operator,
181 | .token.entity,
182 | .token.url,
183 | .language-css .token.string,
184 | .style .token.string {
185 | background: none;
186 | }
187 |
188 | pre .line-highlight,
189 | pre .line-highlight.line-highlight,
190 | pre > code.line-highlight {
191 | margin-top: 36px;
192 | background: linear-gradient(to right, rgba(179, 98, 255, 0.17), transparent);
193 | }
194 |
195 | pre .line-highlight:before,
196 | pre > code.line-highlight:before,
197 | pre .line-highlight[data-end]:after,
198 | pre > code.line-highlight[data-end]:after {
199 | content: '';
200 | }
201 |
--------------------------------------------------------------------------------
/templates/assets/css/links.css:
--------------------------------------------------------------------------------
1 | .btn {
2 | padding: 8px 12px;
3 | background: var(--heo-fontcolor);
4 | border-radius: 12px;
5 | color: var(--heo-card-bg);
6 | display: flex;
7 | align-items: center;
8 | z-index: 1;
9 | transition: .3s;
10 | cursor: pointer
11 | }
12 |
13 | .link-group-wrapper {
14 | transform: translate3d(var(--tw-translate-x),var(--tw-translate-y),0) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
15 | animation: rowup 60s linear infinite
16 | }
17 |
18 | .link-group-wrapper:hover {
19 | animation-play-state: paused
20 | }
21 |
22 | .links-group-avatar-pair .links-group-avatar:nth-child(even) {
23 | margin-top: 1rem;
24 | transform: translate3d(var(--tw-translate-x),var(--tw-translate-y),0) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
25 | transform: translate(-60px)
26 | }
27 |
28 | .link-box-btn-group {
29 | position: absolute;
30 | right: 2rem;
31 | top: 2rem;
32 | display: flex
33 | }
34 |
35 | @keyframes rowup {
36 | 0% {
37 | transform: translate(0)
38 | }
39 |
40 | to {
41 | transform: translate(-66.6666%)
42 | }
43 | }
44 |
45 | #link-card {
46 | position: relative
47 | }
48 |
49 | #link-card.highlighted {
50 | border-style: solid;
51 | border-width: 1px;
52 | border-color: var(--bg-sub-accent-55)
53 | }
54 |
55 | #link-card.highlighted:before {
56 | content: "";
57 | z-index: -1;
58 | position: absolute;
59 | top: 0;
60 | right: 0;
61 | bottom: 0;
62 | left: 0;
63 | background: linear-gradient(130deg,rgba(36,198,220,.5),rgba(84,51,255,.5) 41.07%,rgba(255,0,153,.5) 76.05%);
64 | transform: translate3d(0,25px,0) scale(.85);
65 | filter: blur(20px);
66 | opacity: var(.7);
67 | transition: opacity .3s;
68 | border-radius: inherit
69 | }
70 |
71 | #link-card.highlighted:after {
72 | content: "";
73 | z-index: -1;
74 | position: absolute;
75 | top: 0;
76 | right: 0;
77 | bottom: 0;
78 | left: 0;
79 | background: inherit;
80 | border-radius: inherit
81 | }
82 |
83 | #link-card.highlighted.category-mode .article .article-content p {
84 | height: 3rem
85 | }
86 |
87 | @media (min-width: 640px) {
88 | #link-card.highlighted.category-mode .article .article-content p {
89 | height:3.5rem
90 | }
91 | }
92 |
93 | @media (min-width: 1024px) {
94 | #link-card.highlighted.category-mode .article .article-content p {
95 | height:4.6rem
96 | }
97 | }
98 |
99 | #link-card.highlighted.category-mode .article .article-content p {
100 | -webkit-line-clamp: 3
101 | }
102 |
103 | #link-card.article-container {
104 | height: auto
105 | }
106 |
107 | #link-card .article .article-content span b {
108 | border-radius: .375rem;
109 | background-color: var(--background-trans);
110 | padding: .25rem .5rem;
111 | color: var(--text-bright)
112 | }
113 |
114 | #link-card .article .article-content span b.vip {
115 | border-radius: .375rem;
116 | --tw-bg-opacity: 1;
117 | background-color: rgb(249 115 22 / var(--tw-bg-opacity));
118 | padding: .25rem .5rem;
119 | --tw-text-opacity: 1;
120 | color: rgb(255 255 255 / var(--tw-text-opacity))
121 | }
122 |
123 | #link-card .article .article-content h1 {
124 | margin-bottom: .5rem;
125 | font-size: 1.125rem;
126 | line-height: 1.75rem
127 | }
128 |
129 | #link-card .article .article-content h1.vip-text {
130 | --tw-text-opacity: 1;
131 | color: rgb(251 146 60 / var(--tw-text-opacity))
132 | }
133 |
134 | #link-card .article .article-content p {
135 | height: 2.5rem
136 | }
137 |
138 | @media (min-width: 640px) {
139 | #link-card .article .article-content p {
140 | height:2.5rem
141 | }
142 | }
143 |
144 | @media (min-width: 1024px) {
145 | #link-card .article .article-content p {
146 | height:3rem
147 | }
148 | }
149 |
150 | #link-card .article .article-content p {
151 | display: -webkit-box;
152 | margin: 0 auto;
153 | -webkit-line-clamp: 2;
154 | -webkit-box-orient: vertical;
155 | overflow: hidden;
156 | text-overflow: ellipsis
157 | }
158 |
159 | #link-card .article .article-content .link-logo-image{
160 | height: 100px;
161 | width: 100px;
162 | max-width: 200px;
163 | top: 75px;
164 | left: -25px;
165 | opacity: .15;
166 | position: absolute;
167 | margin-right: .5rem;
168 | border-radius: 9999px;
169 | }
--------------------------------------------------------------------------------
/templates/assets/libs/prism/themes/prism-pojoaque.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Pojoaque Style by Jason Tate
3 | * http://web-cms-designs.com/ftopict-10-pojoaque-style-for-highlight-js-code-highlighter.html
4 | * Based on Solarized Style from http://ethanschoonover.com/solarized
5 | * http://softwaremaniacs.org/media/soft/highlight/test.html
6 | */
7 |
8 | code[class*="language-"],
9 | pre[class*="language-"] {
10 | -moz-tab-size: 4;
11 | -o-tab-size: 4;
12 | tab-size: 4;
13 | -webkit-hyphens: none;
14 | -moz-hyphens: none;
15 | -ms-hyphens: none;
16 | hyphens: none;
17 | white-space: pre;
18 | white-space: pre-wrap;
19 | word-break: break-all;
20 | word-wrap: break-word;
21 | font-family: Menlo, Monaco, "Courier New", monospace;
22 | font-size: 15px;
23 | line-height: 1.5;
24 | color: #dccf8f;
25 | text-shadow: 0;
26 | }
27 |
28 | pre > code[class*="language-"] {
29 | font-size: 1em;
30 | }
31 |
32 | pre[class*="language-"],
33 | :not(pre) > code[class*="language-"] {
34 | border-radius: 5px;
35 | border: 1px solid #000;
36 | color: #DCCF8F;
37 | background: #181914 url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAMAAA/+4ADkFkb2JlAGTAAAAAAf/bAIQACQYGBgcGCQcHCQ0IBwgNDwsJCQsPEQ4ODw4OERENDg4ODg0RERQUFhQUERoaHBwaGiYmJiYmKysrKysrKysrKwEJCAgJCgkMCgoMDwwODA8TDg4ODhMVDg4PDg4VGhMRERERExoXGhYWFhoXHR0aGh0dJCQjJCQrKysrKysrKysr/8AAEQgAjACMAwEiAAIRAQMRAf/EAF4AAQEBAAAAAAAAAAAAAAAAAAABBwEBAQAAAAAAAAAAAAAAAAAAAAIQAAEDAwIHAQEAAAAAAAAAAADwAREhYaExkUFRcYGxwdHh8REBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8AyGFEjHaBS2fDDs2zkhKmBKktb7km+ZwwCnXPkLVmCTMItj6AXFxRS465/BTnkAJvkLkJe+7AKKoi2AtRS2zuAWsCb5GOlBN8gKfmuGHZ8MFqIth3ALmFoFwbwKWyAlTAp17uKqBvgBD8sM4fTjhvAhkzhaRkBMKBrfs7jGPIpzy7gFrAqnC0C0gB0EWwBDW2cBVQwm+QtPpa3wBO3sVvszCnLAhkzgL5/RLf13cLQd8/AGlu0Cb5HTx9KuAEieGJEdcehS3eRTp2ATdt3CpIm+QtZwAhROXFeb7swp/ahaM3kBE/jSIUBc/AWrgBN8uNFAl+b7sAXFxFn2YLUU5Ns7gFX8C4ib+hN8gFWXwK3bZglxEJm+gKdciLPsFV/TClsgJUwKJ5FVA7tvIFrfZhVfGJDcsCKaYgAqv6YRbE+RWOWBtu7+AL3yRalXLyKqAIIfk+zARbDgFyEsncYwJvlgFRW+GEWntIi2P0BooyFxcNr8Ep3+ANLbMO+QyhvbiqdgC0kVvgUUiLYgBS2QtPbiVI1/sgOmG9uO+Y8DW+7jS2zAOnj6O2BndwuIAUtkdRN8gFoK3wwXMQyZwHVbClsuNLd4E3yAUR6FVDBR+BafQGt93LVMxJTv8ABts4CVLhcfYWsCb5kC9/BHdU8CLYFY5bMAd+eX9MGthhpbA1vu4B7+RKkaW2Yq4AQtVBBFsAJU/AuIXBhN8gGWnstefhiZyWvLAEnbYS1uzSFP6Jvn4Baxx70JKkQojLib5AVTey1jjgkKJGO0AKWyOm7N7cSpgSpAdPH0Tfd/gp1z5C1ZgKqN9J2wFxcUUuAFLZAm+QC0Fb4YUVRFsAOvj4KW2dwtYE3yAWk/wS/PLMKfmuGHZ8MAXF/Ja32Yi5haAKWz4Ydm2cSpgU693Atb7km+Zwwh+WGcPpxw3gAkzCLY+iYUDW/Z3Adc/gpzyFrAqnALkJe+7DoItgAtRS2zuKqGE3yAx0oJvkdvYrfZmALURbDuL5/RLf13cAuDeBS2RpbtAm+QFVA3wR+3fUtFHoBDJnC0jIXH0HWsgMY8inPLuOkd9chp4z20ALQLSA8cI9jYAIa2zjzjBd8gRafS1vgiUho/kAKcsCGTOGWvoOpkAtB3z8Hm8x2Ff5ADp4+lXAlIvcmwH/2Q==') repeat left top;
38 | }
39 |
40 | pre[class*="language-"] {
41 | padding: 12px;
42 | overflow: auto;
43 | }
44 |
45 | :not(pre) > code[class*="language-"] {
46 | padding: 2px 6px;
47 | }
48 |
49 | .token.namespace {
50 | opacity: .7;
51 | }
52 |
53 | .token.comment,
54 | .token.prolog,
55 | .token.doctype,
56 | .token.cdata {
57 | color: #586e75;
58 | font-style: italic;
59 | }
60 |
61 | .token.number,
62 | .token.string,
63 | .token.char,
64 | .token.builtin,
65 | .token.inserted {
66 | color: #468966;
67 | }
68 |
69 | .token.attr-name {
70 | color: #b89859;
71 | }
72 |
73 | .token.operator,
74 | .token.entity,
75 | .token.url,
76 | .language-css .token.string,
77 | .style .token.string {
78 | color: #dccf8f;
79 | }
80 |
81 | .token.selector,
82 | .token.regex {
83 | color: #859900;
84 | }
85 |
86 | .token.atrule,
87 | .token.keyword {
88 | color: #cb4b16;
89 | }
90 |
91 | .token.attr-value {
92 | color: #468966;
93 | }
94 |
95 | .token.function,
96 | .token.variable,
97 | .token.placeholder {
98 | color: #b58900;
99 | }
100 |
101 | .token.property,
102 | .token.tag,
103 | .token.boolean,
104 | .token.number,
105 | .token.constant,
106 | .token.symbol {
107 | color: #b89859;
108 | }
109 |
110 | .token.tag {
111 | color: #ffb03b;
112 | }
113 |
114 | .token.important,
115 | .token.statement,
116 | .token.deleted {
117 | color: #dc322f;
118 | }
119 |
120 | .token.punctuation {
121 | color: #dccf8f;
122 | }
123 |
124 | .token.entity {
125 | cursor: help;
126 | }
127 |
128 | .token.bold {
129 | font-weight: bold;
130 | }
131 |
132 | .token.italic {
133 | font-style: italic;
134 | }
135 |
136 | /*
137 | .pojoaque-colors {
138 | color: #586e75;
139 | color: #b64926;
140 | color: #468966;
141 | color: #ffb03b;
142 | color: #b58900;
143 | color: #b89859;
144 | color: #dccf8f;
145 | color: #d3a60c;
146 | color: #cb4b16;
147 | color: #dc322f;
148 | color: #073642;
149 | color: #181914;
150 | }
151 | */
152 |
--------------------------------------------------------------------------------
/templates/error/404.html:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
11 |
12 |
17 |
18 |
19 |
20 |
22 |
23 |
24 |
30 |
31 |
32 |
34 |
36 |
37 |
38 |
40 |
42 |
43 |
45 |
47 |
48 |
49 |
51 |
52 |
53 |
54 |
56 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
--------------------------------------------------------------------------------
/templates/error/500.html:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
11 |
12 |
17 |
18 |
19 |
20 |
22 |
23 |
24 |
30 |
31 |
32 |
34 |
36 |
37 |
38 |
40 |
42 |
43 |
45 |
47 |
48 |
49 |
51 |
52 |
53 |
54 |
56 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
--------------------------------------------------------------------------------
/templates/modules/widgets/aside/comments.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
85 |
86 |
--------------------------------------------------------------------------------
14 | 评论区 16 |
17 | 18 |