Added missing "svrjs" theme
This commit is contained in:
parent
6521b98abf
commit
66c58fd2ff
106 changed files with 2718 additions and 4 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -6,5 +6,5 @@ node_modules/
|
||||||
public/
|
public/
|
||||||
.deploy*/
|
.deploy*/
|
||||||
_multiconfig.yml
|
_multiconfig.yml
|
||||||
svrjs/
|
/svrjs/
|
||||||
google.json
|
google.json
|
||||||
|
|
6
package-lock.json
generated
6
package-lock.json
generated
|
@ -810,9 +810,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/follow-redirects": {
|
"node_modules/follow-redirects": {
|
||||||
"version": "1.15.5",
|
"version": "1.15.6",
|
||||||
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz",
|
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
|
||||||
"integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==",
|
"integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"type": "individual",
|
"type": "individual",
|
||||||
|
|
7
themes/svrjs/LICENSE
Normal file
7
themes/svrjs/LICENSE
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
Copyright (c) 2013 Tommy Chen
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
67
themes/svrjs/_config.yml
Normal file
67
themes/svrjs/_config.yml
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
# Header
|
||||||
|
menu:
|
||||||
|
Home: /
|
||||||
|
Archives: /archives
|
||||||
|
rss: /atom.xml
|
||||||
|
banner: "images/banner.jpg"
|
||||||
|
|
||||||
|
# Content
|
||||||
|
excerpt_link: Read More
|
||||||
|
fancybox: true
|
||||||
|
|
||||||
|
# # Footer
|
||||||
|
# copyright: |-
|
||||||
|
# <a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/88x31.png" /></a></br>
|
||||||
|
# All website licensed under <a href="https://creativecommons.org/licenses/by/4.0/" target="_blank">CC BY 4.0</a></br>
|
||||||
|
|
||||||
|
# Footer
|
||||||
|
copyright:
|
||||||
|
# Need help choosing? Please see...
|
||||||
|
# https://creativecommons.org/choose/
|
||||||
|
# https://choosealicense.com/
|
||||||
|
# You can use html like below...
|
||||||
|
# copyright: |-
|
||||||
|
# <a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/88x31.png" /></a></br>
|
||||||
|
# All website licensed under <a href="https://creativecommons.org/licenses/by/4.0/" target="_blank">CC BY 4.0</a></br>
|
||||||
|
|
||||||
|
# Sidebar
|
||||||
|
sidebar: right
|
||||||
|
widgets:
|
||||||
|
- search
|
||||||
|
- category
|
||||||
|
- tagcloud
|
||||||
|
- archive
|
||||||
|
- recent_posts
|
||||||
|
|
||||||
|
# display widgets at the bottom of index pages (pagination == 2)
|
||||||
|
index_widgets:
|
||||||
|
# - category
|
||||||
|
# - tagcloud
|
||||||
|
# - archive
|
||||||
|
|
||||||
|
# Widget behavior
|
||||||
|
archive_type: 'monthly'
|
||||||
|
show_count: false
|
||||||
|
recent_posts_limits: 5
|
||||||
|
|
||||||
|
# Miscellaneous
|
||||||
|
google_analytics:
|
||||||
|
gauges_analytics:
|
||||||
|
favicon: /favicon.ico
|
||||||
|
links: true
|
||||||
|
twitter:
|
||||||
|
fb_admins:
|
||||||
|
fb_app_id:
|
||||||
|
|
||||||
|
# valine comment system. https://valine.js.org
|
||||||
|
valine:
|
||||||
|
enable: false # if you want use valine,please set this value is true
|
||||||
|
appId: # leancloud application app id
|
||||||
|
appKey: # leancloud application app key
|
||||||
|
notify: false # valine mail notify (true/false) https://github.com/xCss/Valine/wiki
|
||||||
|
verify: false # valine verify code (true/false)
|
||||||
|
pageSize: 10 # comment list page size
|
||||||
|
avatar: mm # gravatar style https://valine.js.org/#/avatar
|
||||||
|
lang: en # i18n: zh-cn/en
|
||||||
|
placeholder: Just go go # valine comment input placeholder(like: Please leave your footprints )
|
||||||
|
guest_info: nick,mail,link #valine comment header info
|
1
themes/svrjs/languages/de-DE.yml
Normal file
1
themes/svrjs/languages/de-DE.yml
Normal file
|
@ -0,0 +1 @@
|
||||||
|
de.yml
|
19
themes/svrjs/languages/de.yml
Normal file
19
themes/svrjs/languages/de.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
categories: Kategorien
|
||||||
|
search: Suche
|
||||||
|
tags: Tags
|
||||||
|
tagcloud: Tag Cloud
|
||||||
|
tweets: Tweets
|
||||||
|
prev: zurück
|
||||||
|
next: weiter
|
||||||
|
comment: Kommentare
|
||||||
|
archive_a: Archiv
|
||||||
|
archive_b: "Archive: %s"
|
||||||
|
page: Seite %d
|
||||||
|
recent_posts: letzter Beitrag
|
||||||
|
newer: Neuer
|
||||||
|
older: Älter
|
||||||
|
share: Teilen
|
||||||
|
powered_by: Powered by
|
||||||
|
rss_feed: RSS Feed
|
||||||
|
category: Kategorie
|
||||||
|
tag: Tag
|
1
themes/svrjs/languages/default.yml
Normal file
1
themes/svrjs/languages/default.yml
Normal file
|
@ -0,0 +1 @@
|
||||||
|
en.yml
|
1
themes/svrjs/languages/en-GB.yml
Normal file
1
themes/svrjs/languages/en-GB.yml
Normal file
|
@ -0,0 +1 @@
|
||||||
|
en.yml
|
1
themes/svrjs/languages/en-US.yml
Symbolic link
1
themes/svrjs/languages/en-US.yml
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
en.yml
|
19
themes/svrjs/languages/en.yml
Normal file
19
themes/svrjs/languages/en.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
categories: Categories
|
||||||
|
search: Search
|
||||||
|
tags: Tags
|
||||||
|
tagcloud: Tag Cloud
|
||||||
|
tweets: Tweets
|
||||||
|
prev: Prev
|
||||||
|
next: Next
|
||||||
|
comment: Comments
|
||||||
|
archive_a: Archives
|
||||||
|
archive_b: "Archives: %s"
|
||||||
|
page: Page %d
|
||||||
|
recent_posts: Recent Posts
|
||||||
|
newer: Newer
|
||||||
|
older: Older
|
||||||
|
share: Share
|
||||||
|
powered_by: Powered by
|
||||||
|
rss_feed: RSS Feed
|
||||||
|
category: Category
|
||||||
|
tag: Tag
|
1
themes/svrjs/languages/es-ES.yml
Normal file
1
themes/svrjs/languages/es-ES.yml
Normal file
|
@ -0,0 +1 @@
|
||||||
|
es.yml
|
19
themes/svrjs/languages/es.yml
Normal file
19
themes/svrjs/languages/es.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
categories: Categorías
|
||||||
|
search: Buscar
|
||||||
|
tags: Tags
|
||||||
|
tagcloud: Nube de Tags
|
||||||
|
tweets: Tweets
|
||||||
|
prev: Previo
|
||||||
|
next: Siguiente
|
||||||
|
comment: Comentarios
|
||||||
|
archive_a: Archivos
|
||||||
|
archive_b: "Archivos: %s"
|
||||||
|
page: Página %d
|
||||||
|
recent_posts: Posts recientes
|
||||||
|
newer: Nuevo
|
||||||
|
older: Viejo
|
||||||
|
share: Compartir
|
||||||
|
powered_by: Construido por
|
||||||
|
rss_feed: RSS
|
||||||
|
category: Categoría
|
||||||
|
tag: Tag
|
1
themes/svrjs/languages/fr-FR.yml
Normal file
1
themes/svrjs/languages/fr-FR.yml
Normal file
|
@ -0,0 +1 @@
|
||||||
|
fr.yml
|
19
themes/svrjs/languages/fr.yml
Normal file
19
themes/svrjs/languages/fr.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
categories: Catégories
|
||||||
|
search: Rechercher
|
||||||
|
tags: Mot-clés
|
||||||
|
tagcloud: Nuage de mot-clés
|
||||||
|
tweets: Tweets
|
||||||
|
prev: Précédent
|
||||||
|
next: Suivant
|
||||||
|
comment: Commentaires
|
||||||
|
archive_a: Archives
|
||||||
|
archive_b: "Archives: %s"
|
||||||
|
page: Page %d
|
||||||
|
recent_posts: Articles récents
|
||||||
|
newer: Récent
|
||||||
|
older: Ancien
|
||||||
|
share: Partager
|
||||||
|
powered_by: Propulsé par
|
||||||
|
rss_feed: Flux RSS
|
||||||
|
category: Catégorie
|
||||||
|
tag: Mot-clé
|
1
themes/svrjs/languages/hu-HU.yml
Normal file
1
themes/svrjs/languages/hu-HU.yml
Normal file
|
@ -0,0 +1 @@
|
||||||
|
hu.yml
|
19
themes/svrjs/languages/hu.yml
Normal file
19
themes/svrjs/languages/hu.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
categories: Kategóriák
|
||||||
|
search: Keresés
|
||||||
|
tags: Címkék
|
||||||
|
tagcloud: Címkefelhő
|
||||||
|
tweets: Tweetek
|
||||||
|
prev: Előző
|
||||||
|
next: Következő
|
||||||
|
comment: Kommentek
|
||||||
|
archive_a: Archív
|
||||||
|
archive_b: "Archív: %s"
|
||||||
|
page: Oldal %d
|
||||||
|
recent_posts: Legfrissebb bejegyzések
|
||||||
|
newer: Újabb
|
||||||
|
older: Régebbi
|
||||||
|
share: Megosztás
|
||||||
|
powered_by: Powered by
|
||||||
|
rss_feed: RSS-hírfolyam
|
||||||
|
category: Kategória
|
||||||
|
tag: Címke
|
1
themes/svrjs/languages/it-IT.yml
Normal file
1
themes/svrjs/languages/it-IT.yml
Normal file
|
@ -0,0 +1 @@
|
||||||
|
it.yml
|
19
themes/svrjs/languages/it.yml
Normal file
19
themes/svrjs/languages/it.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
categories: Categorie
|
||||||
|
search: Cerca
|
||||||
|
tags: Tag
|
||||||
|
tagcloud: Tag Cloud
|
||||||
|
tweets: Tweet
|
||||||
|
prev: Prec
|
||||||
|
next: Succ
|
||||||
|
comment: Commenti
|
||||||
|
archive_a: Archivio
|
||||||
|
archive_b: "Archivio: %s"
|
||||||
|
page: Pagina %d
|
||||||
|
recent_posts: Post Recenti
|
||||||
|
newer: Nuovi
|
||||||
|
older: Vecchi
|
||||||
|
share: Condividi
|
||||||
|
powered_by: Powered by
|
||||||
|
rss_feed: Feed RSS
|
||||||
|
category: Categoria
|
||||||
|
tag: Tag
|
1
themes/svrjs/languages/ja-JP.yml
Normal file
1
themes/svrjs/languages/ja-JP.yml
Normal file
|
@ -0,0 +1 @@
|
||||||
|
ja.yml
|
19
themes/svrjs/languages/ja.yml
Normal file
19
themes/svrjs/languages/ja.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
categories: カテゴリ
|
||||||
|
search: 検索
|
||||||
|
tags: タグ
|
||||||
|
tagcloud: タグクラウド
|
||||||
|
tweets: ツイート
|
||||||
|
prev: 戻る
|
||||||
|
next: 次へ
|
||||||
|
comment: コメント
|
||||||
|
archive_a: アーカイブ
|
||||||
|
archive_b: "アーカイブ: %s"
|
||||||
|
page: ページ %d
|
||||||
|
recent_posts: 最近の投稿
|
||||||
|
newer: 次の記事
|
||||||
|
older: 前の記事
|
||||||
|
share: 共有
|
||||||
|
powered_by: Powered by
|
||||||
|
rss_feed: RSSフィード
|
||||||
|
category: カテゴリ
|
||||||
|
tag: タグ
|
1
themes/svrjs/languages/ko-KR.yml
Normal file
1
themes/svrjs/languages/ko-KR.yml
Normal file
|
@ -0,0 +1 @@
|
||||||
|
ko.yml
|
19
themes/svrjs/languages/ko.yml
Normal file
19
themes/svrjs/languages/ko.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
categories: 카테고리
|
||||||
|
search: 검색
|
||||||
|
tags: 태그
|
||||||
|
tagcloud: 태그 클라우드
|
||||||
|
tweets: 트윗
|
||||||
|
prev: 이전
|
||||||
|
next: 다음
|
||||||
|
comment: 댓글
|
||||||
|
archive_a: 아카이브
|
||||||
|
archive_b: "아카이브: %s"
|
||||||
|
page: 페이지 %d
|
||||||
|
recent_posts: 최근 포스트
|
||||||
|
newer: 최신
|
||||||
|
older: 이전
|
||||||
|
share: 공유
|
||||||
|
powered_by: Powered by
|
||||||
|
rss_feed: RSS Feed
|
||||||
|
category: 카테고리
|
||||||
|
tag: 태그
|
1
themes/svrjs/languages/mn-MN.yml
Normal file
1
themes/svrjs/languages/mn-MN.yml
Normal file
|
@ -0,0 +1 @@
|
||||||
|
mn.yml
|
19
themes/svrjs/languages/mn.yml
Normal file
19
themes/svrjs/languages/mn.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
categories: Ангилалууд
|
||||||
|
search: Хайлт
|
||||||
|
tags: Тагууд
|
||||||
|
tagcloud: Tag Cloud
|
||||||
|
tweets: Tweets
|
||||||
|
prev: Өмнөх
|
||||||
|
next: Дараах
|
||||||
|
comment: Сэтгэгдэл
|
||||||
|
archive_a: Архив
|
||||||
|
archive_b: "Архив: %s"
|
||||||
|
page: Хуудас %d
|
||||||
|
recent_posts: Сүүлд нэмэгдсэн
|
||||||
|
newer: Шинэ
|
||||||
|
older: Хуучин
|
||||||
|
share: Хуваалцах
|
||||||
|
powered_by: Powered by
|
||||||
|
rss_feed: RSS Feed
|
||||||
|
category: Ангилал
|
||||||
|
tag: Таг
|
1
themes/svrjs/languages/nl-NL.yml
Normal file
1
themes/svrjs/languages/nl-NL.yml
Normal file
|
@ -0,0 +1 @@
|
||||||
|
nl.yml
|
20
themes/svrjs/languages/nl.yml
Normal file
20
themes/svrjs/languages/nl.yml
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
|
||||||
|
categories: Categorieën
|
||||||
|
search: Zoeken
|
||||||
|
tags: Labels
|
||||||
|
tagcloud: Tag Cloud
|
||||||
|
tweets: Tweets
|
||||||
|
prev: Vorige
|
||||||
|
next: Volgende
|
||||||
|
comment: Commentaren
|
||||||
|
archive_a: Archieven
|
||||||
|
archive_b: "Archieven: %s"
|
||||||
|
page: Pagina %d
|
||||||
|
recent_posts: Recente berichten
|
||||||
|
newer: Nieuwer
|
||||||
|
older: Ouder
|
||||||
|
share: Delen
|
||||||
|
powered_by: Powered by
|
||||||
|
rss_feed: RSS Feed
|
||||||
|
category: Categorie
|
||||||
|
tag: Label
|
19
themes/svrjs/languages/no.yml
Normal file
19
themes/svrjs/languages/no.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
categories: Kategorier
|
||||||
|
search: Søk
|
||||||
|
tags: Tags
|
||||||
|
tagcloud: Tag Cloud
|
||||||
|
tweets: Tweets
|
||||||
|
prev: Forrige
|
||||||
|
next: Neste
|
||||||
|
comment: Kommentarer
|
||||||
|
archive_a: Arkiv
|
||||||
|
archive_b: "Arkiv: %s"
|
||||||
|
page: Side %d
|
||||||
|
recent_posts: Siste innlegg
|
||||||
|
newer: Newer
|
||||||
|
older: Older
|
||||||
|
share: Share
|
||||||
|
powered_by: Powered by
|
||||||
|
rss_feed: RSS Feed
|
||||||
|
category: Category
|
||||||
|
tag: Tag
|
1
themes/svrjs/languages/pt-PT.yml
Normal file
1
themes/svrjs/languages/pt-PT.yml
Normal file
|
@ -0,0 +1 @@
|
||||||
|
pt.yml
|
19
themes/svrjs/languages/pt.yml
Normal file
19
themes/svrjs/languages/pt.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
categories: Categorias
|
||||||
|
search: Buscar
|
||||||
|
tags: Tags
|
||||||
|
tagcloud: Nuvem de Tags
|
||||||
|
tweets: Tweets
|
||||||
|
prev: Anterior
|
||||||
|
next: Próximo
|
||||||
|
comment: Comentários
|
||||||
|
archive_a: Arquivos
|
||||||
|
archive_b: "Arquivos: %s"
|
||||||
|
page: Página %d
|
||||||
|
recent_posts: Postagens Recentes
|
||||||
|
newer: Mais Recente
|
||||||
|
older: Mais Antigo
|
||||||
|
share: Compartilhar
|
||||||
|
powered_by: Desenvolvido por
|
||||||
|
rss_feed: Feed RSS
|
||||||
|
category: Categoria
|
||||||
|
tag: Tag
|
1
themes/svrjs/languages/ru-RU.yml
Normal file
1
themes/svrjs/languages/ru-RU.yml
Normal file
|
@ -0,0 +1 @@
|
||||||
|
ru.yml
|
19
themes/svrjs/languages/ru.yml
Normal file
19
themes/svrjs/languages/ru.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
categories: Категории
|
||||||
|
search: Поиск
|
||||||
|
tags: Метки
|
||||||
|
tagcloud: Облако меток
|
||||||
|
tweets: Твиты
|
||||||
|
prev: Назад
|
||||||
|
next: Вперед
|
||||||
|
comment: Комментарии
|
||||||
|
archive_a: Архив
|
||||||
|
archive_b: "Архив: %s"
|
||||||
|
page: Страница %d
|
||||||
|
recent_posts: Недавние записи
|
||||||
|
newer: Следующий
|
||||||
|
older: Предыдущий
|
||||||
|
share: Поделиться
|
||||||
|
powered_by: Создано с помощью
|
||||||
|
rss_feed: RSS-каналы
|
||||||
|
category: Категория
|
||||||
|
tag: Метка
|
1
themes/svrjs/languages/th-TH.yml
Normal file
1
themes/svrjs/languages/th-TH.yml
Normal file
|
@ -0,0 +1 @@
|
||||||
|
th.yml
|
19
themes/svrjs/languages/th.yml
Normal file
19
themes/svrjs/languages/th.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
categories: หมวดหมู่
|
||||||
|
search: ค้นหา
|
||||||
|
tags: แท็ก
|
||||||
|
tagcloud: แท็กคลาวด์
|
||||||
|
tweets: ทวีต
|
||||||
|
prev: ก่อนหน้า
|
||||||
|
next: ถัดไป
|
||||||
|
comment: ความคิดเห็น
|
||||||
|
archive_a: ที่เก็บเอกสาร
|
||||||
|
archive_b: "ที่เก็บเอกสาร: %s"
|
||||||
|
page: หน้า %d
|
||||||
|
recent_posts: โพสต์ล่าสุด
|
||||||
|
newer: ใหม่กว่า
|
||||||
|
older: เก่ากว่า
|
||||||
|
share: แชร์
|
||||||
|
powered_by: ขับเคลื่อนโดย
|
||||||
|
rss_feed: RSS Feed
|
||||||
|
category: หมวดหมู่
|
||||||
|
tag: แท็ก
|
19
themes/svrjs/languages/tr.yml
Normal file
19
themes/svrjs/languages/tr.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
categories: Kategoriler
|
||||||
|
search: Ara
|
||||||
|
tags: Etiketler
|
||||||
|
tagcloud: Etiket bulutu
|
||||||
|
tweets: twitler
|
||||||
|
prev: Geri
|
||||||
|
next: İleri
|
||||||
|
comment: Yorumlar
|
||||||
|
archive_a: Arşiv
|
||||||
|
archive_b: "Arşiv: %s"
|
||||||
|
page: Sayfa %d
|
||||||
|
recent_posts: Недавние записи
|
||||||
|
newer: daha yeni
|
||||||
|
older: daha eski
|
||||||
|
share: Paylaş
|
||||||
|
powered_by: Destekleriyle
|
||||||
|
rss_feed: RSS-kanalı
|
||||||
|
category: Kategori
|
||||||
|
tag: Etiket
|
19
themes/svrjs/languages/zh-CN.yml
Normal file
19
themes/svrjs/languages/zh-CN.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
categories: 分类
|
||||||
|
search: 搜索
|
||||||
|
tags: 标签
|
||||||
|
tagcloud: 标签云
|
||||||
|
tweets: 推文
|
||||||
|
prev: 上一页
|
||||||
|
next: 下一页
|
||||||
|
comment: 留言
|
||||||
|
archive_a: 归档
|
||||||
|
archive_b: 归档:%s
|
||||||
|
page: 第 %d 页
|
||||||
|
recent_posts: 最新文章
|
||||||
|
newer: 前一篇
|
||||||
|
older: 后一篇
|
||||||
|
share: 分享
|
||||||
|
powered_by: Powered by
|
||||||
|
rss_feed: RSS 订阅
|
||||||
|
category: 目录
|
||||||
|
tag: 标签
|
19
themes/svrjs/languages/zh-TW.yml
Normal file
19
themes/svrjs/languages/zh-TW.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
categories: 分類
|
||||||
|
search: 搜尋
|
||||||
|
tags: 標籤
|
||||||
|
tagcloud: 標籤雲
|
||||||
|
tweets: 推文
|
||||||
|
prev: 上一頁
|
||||||
|
next: 下一頁
|
||||||
|
comment: 留言
|
||||||
|
archive_a: 彙整
|
||||||
|
archive_b: 彙整:%s
|
||||||
|
page: 第 %d 頁
|
||||||
|
recent_posts: 最新文章
|
||||||
|
newer: Newer
|
||||||
|
older: Older
|
||||||
|
share: Share
|
||||||
|
powered_by: Powered by
|
||||||
|
rss_feed: RSS Feed
|
||||||
|
category: Category
|
||||||
|
tag: Tag
|
46
themes/svrjs/layout/_partial/after-footer.ejs
Normal file
46
themes/svrjs/layout/_partial/after-footer.ejs
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
<% if (config.disqus_shortname){ %>
|
||||||
|
<script>
|
||||||
|
var disqus_shortname = '<%= config.disqus_shortname %>';
|
||||||
|
<% if (page.permalink){ %>
|
||||||
|
var disqus_url = '<%= page.permalink %>';
|
||||||
|
<% } %>
|
||||||
|
(function(){
|
||||||
|
var dsq = document.createElement('script');
|
||||||
|
dsq.async = true;
|
||||||
|
dsq.src = 'https://' + disqus_shortname + '.disqus.com/<% if (page.comments) { %>embed.js<% } else { %>count.js<% } %>';
|
||||||
|
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
<% } %>
|
||||||
|
|
||||||
|
<%- js('js/jquery-3.7.1.min.js') %>
|
||||||
|
|
||||||
|
<% if (theme.fancybox){ %>
|
||||||
|
<%- js('fancybox/jquery.fancybox.min.js') %>
|
||||||
|
<% } %>
|
||||||
|
|
||||||
|
<%- js('js/script') %>
|
||||||
|
<%- partial('gauges-analytics') %>
|
||||||
|
|
||||||
|
<% if(theme.valine.enable && theme.valine.appId && theme.valine.appKey){ %>
|
||||||
|
<%- js('https://cdn.jsdelivr.net/npm/valine@1.3.10/dist/Valine.min.js') %>
|
||||||
|
<script>
|
||||||
|
var GUEST_INFO = ['nick','mail','link'];
|
||||||
|
var guest_info = '<%= theme.valine.guest_info %>'.split(',').filter(function(item){
|
||||||
|
return GUEST_INFO.indexOf(item) > -1
|
||||||
|
});
|
||||||
|
var notify = '<%= theme.valine.notify %>' == true;
|
||||||
|
var verify = '<%= theme.valine.verify %>' == true;
|
||||||
|
new Valine({
|
||||||
|
el: '.vcomment',
|
||||||
|
notify: notify,
|
||||||
|
verify: verify,
|
||||||
|
appId: "<%= theme.valine.appId %>",
|
||||||
|
appKey: "<%= theme.valine.appKey %>",
|
||||||
|
placeholder: "<%= theme.valine.placeholder %>",
|
||||||
|
pageSize:'<%= theme.valine.pageSize %>',
|
||||||
|
avatar:'<%= theme.valine.avatar %>',
|
||||||
|
lang:'<%= theme.valine.lang %>'
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<% } %>
|
8
themes/svrjs/layout/_partial/archive-post.ejs
Normal file
8
themes/svrjs/layout/_partial/archive-post.ejs
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
<article class="archive-article archive-type-<%= post.layout %>">
|
||||||
|
<div class="archive-article-inner">
|
||||||
|
<header class="archive-article-header">
|
||||||
|
<%- partial('post/date', {class_name: 'archive-article-date', date_format: 'MMM D'}) %>
|
||||||
|
<%- partial('post/title', {class_name: 'archive-article-title'}) %>
|
||||||
|
</header>
|
||||||
|
</div>
|
||||||
|
</article>
|
35
themes/svrjs/layout/_partial/archive.ejs
Normal file
35
themes/svrjs/layout/_partial/archive.ejs
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
<% if (pagination == 2){ %>
|
||||||
|
<% page.posts.each(function(post){ %>
|
||||||
|
<%- partial('article', {post: post, index: true}) %>
|
||||||
|
<% }) %>
|
||||||
|
<% } else { %>
|
||||||
|
<% var last; %>
|
||||||
|
<% page.posts.each(function(post, i){ %>
|
||||||
|
<% var year = post.date.year(); %>
|
||||||
|
<% if (last != year){ %>
|
||||||
|
<% if (last != null){ %>
|
||||||
|
</div></section>
|
||||||
|
<% } %>
|
||||||
|
<% last = year; %>
|
||||||
|
<section class="archives-wrap">
|
||||||
|
<div class="archive-year-wrap">
|
||||||
|
<a href="<%- url_for(config.archive_dir + '/' + year) %>" class="archive-year"><%= year %></a>
|
||||||
|
</div>
|
||||||
|
<div class="archives">
|
||||||
|
<% } %>
|
||||||
|
<%- partial('archive-post', {post: post, even: i % 2 == 0}) %>
|
||||||
|
<% }) %>
|
||||||
|
<% if (page.posts.length){ %>
|
||||||
|
</div></section>
|
||||||
|
<% } %>
|
||||||
|
<% } %>
|
||||||
|
<% if (page.total > 1){ %>
|
||||||
|
<nav id="page-nav">
|
||||||
|
<% var prev_text = "« " + __('prev');var next_text = __('next') + " »"%>
|
||||||
|
<%- paginator({
|
||||||
|
prev_text: prev_text,
|
||||||
|
next_text: next_text,
|
||||||
|
escape: false
|
||||||
|
}) %>
|
||||||
|
</nav>
|
||||||
|
<% } %>
|
55
themes/svrjs/layout/_partial/article.ejs
Normal file
55
themes/svrjs/layout/_partial/article.ejs
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
<article id="<%= post.layout %>-<%= post.slug %>" class="h-entry article article-type-<%= post.layout %>" itemprop="blogPost" itemscope itemtype="https://schema.org/BlogPosting">
|
||||||
|
<div class="article-meta">
|
||||||
|
<%- partial('post/date', {class_name: 'article-date', date_format: null}) %>
|
||||||
|
<%- partial('post/category') %>
|
||||||
|
</div>
|
||||||
|
<div class="article-inner">
|
||||||
|
<% if (post.link || post.title){ %>
|
||||||
|
<header class="article-header">
|
||||||
|
<%- partial('post/title', {class_name: 'p-name article-title'}) %>
|
||||||
|
</header>
|
||||||
|
<% } %>
|
||||||
|
<%- partial('post/gallery') %>
|
||||||
|
<div class="e-content article-entry" itemprop="articleBody">
|
||||||
|
<% if (post.excerpt && index){ %>
|
||||||
|
<%- post.excerpt %>
|
||||||
|
<% if (theme.excerpt_link){ %>
|
||||||
|
<p class="article-more-link">
|
||||||
|
<a href="<%- url_for(post.path) %>#more"><%= theme.excerpt_link %></a>
|
||||||
|
</p>
|
||||||
|
<% } %>
|
||||||
|
<% } else { %>
|
||||||
|
<%- post.content %>
|
||||||
|
<% } %>
|
||||||
|
</div>
|
||||||
|
<footer class="article-footer">
|
||||||
|
<a data-url="<%- post.permalink %>" data-id="<%= post._id %>" data-title="<%= post.title %>" class="article-share-link"><span class="fa fa-share"></span> <%= __('share') %></a>
|
||||||
|
<% if (post.comments && config.disqus_shortname){ %>
|
||||||
|
<a href="<%- post.permalink %>#disqus_thread" class="article-comment-link"><span class="fa fa-comment"><%= __('comment') %></span></a>
|
||||||
|
<% } %>
|
||||||
|
<% if (post.comments && theme.valine.enable && theme.valine.appId && theme.valine.appKey ){ %>
|
||||||
|
<a href="<%- url_for(post.path) %>#comments" class="article-comment-link">
|
||||||
|
<span class="post-comments-count valine-comment-count fa fa-comment" data-xid="<%- url_for(post.path) %>" itemprop="commentCount"></span>
|
||||||
|
<%= __('comment') %>
|
||||||
|
</a>
|
||||||
|
<% } %>
|
||||||
|
<%- partial('post/tag') %>
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
<% if (!index){ %>
|
||||||
|
<%- partial('post/nav') %>
|
||||||
|
<% } %>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<% if (!index && post.comments && config.disqus_shortname){ %>
|
||||||
|
<section id="comments">
|
||||||
|
<div id="disqus_thread">
|
||||||
|
<noscript>Please enable JavaScript to view the <a href="//disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<% } %>
|
||||||
|
<% if (!index && post.comments && theme.valine.enable && theme.valine.appId && theme.valine.appKey){ %>
|
||||||
|
<section id="comments" class="vcomment">
|
||||||
|
|
||||||
|
</section>
|
||||||
|
<% } %>
|
45
themes/svrjs/layout/_partial/footer.ejs
Normal file
45
themes/svrjs/layout/_partial/footer.ejs
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
<footer id="footer">
|
||||||
|
<% if (theme.sidebar === 'bottom'){ %>
|
||||||
|
<%- partial('_partial/sidebar') %>
|
||||||
|
<% } %>
|
||||||
|
<div id="footer-info">
|
||||||
|
<div class="footer-layout">
|
||||||
|
<div class="footer-column">
|
||||||
|
<span class="footer-headline">Resources and development</span>
|
||||||
|
<ul class="footer-list">
|
||||||
|
<li><a href="https://blog.svrjs.org">Blog</a> (<a href="https://blog.svrjs.org/atom.xml">Feed</a>)</li>
|
||||||
|
<li><a href="https://git.svrjs.org">Git server</a></li>
|
||||||
|
<li><a href="https://svrjs.org/contribute">Contribute</a></li>
|
||||||
|
<li><a href="https://svrjs.org/changelog">Change log</a></li>
|
||||||
|
<li><a href="https://downloads.svrjs.org">Downloads</a></li>
|
||||||
|
<li><a href="https://svrjs.org/mods">Official SVR.JS mods</a></li>
|
||||||
|
<li><a href="https://svrjs.org/branding">Branding</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="footer-column">
|
||||||
|
<span class="footer-headline">Support</span>
|
||||||
|
<ul class="footer-list">
|
||||||
|
<li><a href="https://svrjs.org/docs">Documentation</a></li>
|
||||||
|
<li><a href="https://forum.svrjs.org">Forum</a> (<a href="https://forum.svrjs.org/feed">Feed</a>)</li>
|
||||||
|
<li><a href="https://svrjs.org/contact">Contact us</a></li>
|
||||||
|
<li><a href="https://status.svrjs.org">Server uptime</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="footer-column">
|
||||||
|
<span class="footer-headline">Social</span>
|
||||||
|
<ul class="footer-list">
|
||||||
|
<li><a rel="me" href="https://mastodon.social/@svrjs">Mastodon</a></li>
|
||||||
|
<li><a rel="me" href="https://twitter.com/SVR_JS">X (Twitter)</a></li>
|
||||||
|
</ul>
|
||||||
|
<span class="footer-headline">Policies and Security</span>
|
||||||
|
<ul class="footer-list">
|
||||||
|
<li><a href="https://svrjs.org/vulnerabilities">Security</a></li>
|
||||||
|
<li><a href="https://svrjs.org/toc">Terms and Conditions</a></li>
|
||||||
|
<li><a href="https://svrjs.org/privacy">Privacy Policy</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<hr/>
|
||||||
|
<p class="footer-copyright-text">Copyright © <%= (date(new Date(), 'YYYY') == "2023" ? "" : "2023-") + date(new Date(), 'YYYY') %> SVR.JS. Content licensed under <a href="https://creativecommons.org/licenses/by/4.0/?ref=chooser-v1" target="_blank" rel="license noopener noreferrer" style="display:inline-block;">CC BY 4.0<img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://mirrors.creativecommons.org/presskit/icons/cc.svg?ref=chooser-v1"><img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://mirrors.creativecommons.org/presskit/icons/by.svg?ref=chooser-v1"></a><br/><%= __('powered_by') %> <a href="https://hexo.io/" target="_blank">Hexo</a></p>
|
||||||
|
</div>
|
||||||
|
</footer>
|
17
themes/svrjs/layout/_partial/gauges-analytics.ejs
Normal file
17
themes/svrjs/layout/_partial/gauges-analytics.ejs
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
<% if (theme.gauges_analytics){ %>
|
||||||
|
<!-- Gaug.es Analytics -->
|
||||||
|
<script>
|
||||||
|
var _gauges = _gauges || [];
|
||||||
|
(function() {
|
||||||
|
var t = document.createElement('script');
|
||||||
|
t.async = true;
|
||||||
|
t.id = 'gauges-tracker';
|
||||||
|
t.setAttribute('data-site-id', '<%= theme.gauges_analytics %>');
|
||||||
|
t.setAttribute('data-track-path', 'https://track.gaug.es/track.gif');
|
||||||
|
t.src = 'https://d36ee2fcip1434.cloudfront.net/track.js';
|
||||||
|
var s = document.getElementsByTagName('script')[0];
|
||||||
|
s.parentNode.insertBefore(t, s);
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
<!-- End Gaug.es Analytics -->
|
||||||
|
<% } %>
|
12
themes/svrjs/layout/_partial/google-analytics.ejs
Normal file
12
themes/svrjs/layout/_partial/google-analytics.ejs
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
<% if (theme.google_analytics){ %>
|
||||||
|
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||||
|
<script async src="https://www.googletagmanager.com/gtag/js?id=<%= theme.google_analytics %>"></script>
|
||||||
|
<script>
|
||||||
|
window.dataLayer = window.dataLayer || [];
|
||||||
|
function gtag(){dataLayer.push(arguments);}
|
||||||
|
gtag('js', new Date());
|
||||||
|
|
||||||
|
gtag('config', '<%= theme.google_analytics %>');
|
||||||
|
</script>
|
||||||
|
<!-- End Google Analytics -->
|
||||||
|
<% } %>
|
46
themes/svrjs/layout/_partial/head.ejs
Normal file
46
themes/svrjs/layout/_partial/head.ejs
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<%- partial('google-analytics') %>
|
||||||
|
<%
|
||||||
|
var title = page.title;
|
||||||
|
|
||||||
|
if (is_archive()){
|
||||||
|
title = __('archive_a');
|
||||||
|
|
||||||
|
if (is_month()){
|
||||||
|
title += ': ' + page.year + '/' + page.month;
|
||||||
|
} else if (is_year()){
|
||||||
|
title += ': ' + page.year;
|
||||||
|
}
|
||||||
|
} else if (is_category()){
|
||||||
|
title = __('category') + ': ' + page.category;
|
||||||
|
} else if (is_tag()){
|
||||||
|
title = __('tag') + ': ' + page.tag;
|
||||||
|
}
|
||||||
|
%>
|
||||||
|
<title><% if (title){ %><%= title %> - <% } %><%= config.title %></title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
|
||||||
|
<% if (page.thumbnail) { %>
|
||||||
|
<%- open_graph({twitter_card: 'summary_large_image', twitter_id: theme.twitter, fb_admins: theme.fb_admins, fb_app_id: theme.fb_app_id, image: url_for(page.thumbnail)}) %>
|
||||||
|
<% } else { %>
|
||||||
|
<%- open_graph({twitter_card: 'summary_large_image', twitter_id: theme.twitter, fb_admins: theme.fb_admins, fb_app_id: theme.fb_app_id}) %>
|
||||||
|
<% } %>
|
||||||
|
<% if (config.feed) { %>
|
||||||
|
<%- feed_tag() %>
|
||||||
|
<% } else if (theme.rss) { %>
|
||||||
|
<%- feed_tag(theme.rss) %>
|
||||||
|
<% } %>
|
||||||
|
<% if (theme.favicon){ %>
|
||||||
|
<%- favicon_tag(theme.favicon) %>
|
||||||
|
<% } %>
|
||||||
|
<!--[if lt IE 9]><%- js('js/html5shiv.js') %><![endif]-->
|
||||||
|
<!--[if lte IE 7]><%- css('css/style-ie7.css') %><![endif]-->
|
||||||
|
<%- css('css/style') %>
|
||||||
|
<% if (theme.fancybox){ %>
|
||||||
|
<%- css('fancybox/jquery.fancybox.min.css') %>
|
||||||
|
<% } %>
|
||||||
|
<% if (theme.links) {%>
|
||||||
|
<%- css('https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css') %>
|
||||||
|
<% } %>
|
||||||
|
</head>
|
19
themes/svrjs/layout/_partial/header.ejs
Normal file
19
themes/svrjs/layout/_partial/header.ejs
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
<header id="header">
|
||||||
|
<div class="header-contents">
|
||||||
|
<div class="mainlink">
|
||||||
|
<a href="https://svrjs.org" translate="no">
|
||||||
|
<span class="headlogo-container">
|
||||||
|
<img src="/css/images/navbar-logo.png" id="headlogo" alt="SVR.JS logo"><span id="headname">SVR.JS</span>
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="navigation">
|
||||||
|
<ul>
|
||||||
|
<li><a href="https://forum.svrjs.org">Forum</a></li>
|
||||||
|
<li><a href="https://git.svrjs.org">Git</a></li>
|
||||||
|
<li><a href="/">Blog</a></li>
|
||||||
|
<li><a href="https://svrjs.org/docs">Docs</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
10
themes/svrjs/layout/_partial/post/category.ejs
Normal file
10
themes/svrjs/layout/_partial/post/category.ejs
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<% if (post.categories && post.categories.length){ %>
|
||||||
|
<div class="article-category">
|
||||||
|
<%- list_categories(post.categories, {
|
||||||
|
show_count: false,
|
||||||
|
class: 'article-category',
|
||||||
|
style: 'none',
|
||||||
|
separator: '►'
|
||||||
|
}) %>
|
||||||
|
</div>
|
||||||
|
<% } %>
|
3
themes/svrjs/layout/_partial/post/date.ejs
Normal file
3
themes/svrjs/layout/_partial/post/date.ejs
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
<a href="<%- url_for(post.path) %>" class="<%= class_name %>">
|
||||||
|
<time class="dt-published" datetime="<%= date_xml(post.date) %>" itemprop="datePublished"><%= date(post.date, date_format) %></time>
|
||||||
|
</a>
|
29
themes/svrjs/layout/_partial/post/gallery.ejs
Normal file
29
themes/svrjs/layout/_partial/post/gallery.ejs
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
<% if (post.photos && post.photos.length){ %>
|
||||||
|
<div class="article-gallery<%= (post.link || post.title) ? "" : " article-gallery-noheader" %>">
|
||||||
|
<div class="article-gallery-photos">
|
||||||
|
<% post.photos.forEach(function(photo, i){ %>
|
||||||
|
<a class="article-gallery-img fancybox" href="<%- url_for(photo) %>" rel="gallery_<%= post._id %>">
|
||||||
|
<img src="<%- url_for(photo) %>" itemprop="image">
|
||||||
|
</a>
|
||||||
|
<% }) %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<% } else if (post.thumbnail){ %>
|
||||||
|
<div class="article-gallery<%= (post.link || post.title) ? "" : " article-gallery-noheader" %>">
|
||||||
|
<div class="article-gallery-photos">
|
||||||
|
<% if (post.link){ %>
|
||||||
|
<a class="article-gallery-thumbnail" href="<%- url_for(post.link) %>" target="_blank" itemprop="url">
|
||||||
|
<img src="<%- url_for(post.thumbnail) %>" alt="<%= post.title %>" itemprop="thumbail">
|
||||||
|
</a>
|
||||||
|
<% } else if (post.title){ %>
|
||||||
|
<% if (index){ %>
|
||||||
|
<a class="article-gallery-thumbnail" href="<%- url_for(post.path) %>" itemprop="url">
|
||||||
|
<img src="<%- url_for(post.thumbnail) %>" alt="<%= post.title %>" itemprop="thumbnail">
|
||||||
|
</a>
|
||||||
|
<% } else { %>
|
||||||
|
<img src="<%- url_for(post.thumbnail) %>" class="article-gallery-thumbnail" alt="<%= post.title %>" itemprop="thumbnail">
|
||||||
|
<% } %>
|
||||||
|
<% } %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<% } %>
|
22
themes/svrjs/layout/_partial/post/nav.ejs
Normal file
22
themes/svrjs/layout/_partial/post/nav.ejs
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
<% if (post.prev || post.next){ %>
|
||||||
|
<nav id="article-nav">
|
||||||
|
<% if (post.prev){ %>
|
||||||
|
<a href="<%- url_for(post.prev.path) %>" id="article-nav-newer" class="article-nav-link-wrap">
|
||||||
|
<strong class="article-nav-caption"><%= __('newer') %></strong>
|
||||||
|
<div class="article-nav-title">
|
||||||
|
<% if (post.prev.title){ %>
|
||||||
|
<%= post.prev.title %>
|
||||||
|
<% } else { %>
|
||||||
|
(no title)
|
||||||
|
<% } %>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<% } %>
|
||||||
|
<% if (post.next){ %>
|
||||||
|
<a href="<%- url_for(post.next.path) %>" id="article-nav-older" class="article-nav-link-wrap">
|
||||||
|
<strong class="article-nav-caption"><%= __('older') %></strong>
|
||||||
|
<div class="article-nav-title"><%= post.next.title %></div>
|
||||||
|
</a>
|
||||||
|
<% } %>
|
||||||
|
</nav>
|
||||||
|
<% } %>
|
6
themes/svrjs/layout/_partial/post/tag.ejs
Normal file
6
themes/svrjs/layout/_partial/post/tag.ejs
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
<% if (post.tags && post.tags.length){ %>
|
||||||
|
<%- list_tags(post.tags, {
|
||||||
|
show_count: false,
|
||||||
|
class: 'article-tag'
|
||||||
|
}) %>
|
||||||
|
<% } %>
|
15
themes/svrjs/layout/_partial/post/title.ejs
Normal file
15
themes/svrjs/layout/_partial/post/title.ejs
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
<% if (post.link){ %>
|
||||||
|
<h1 itemprop="name">
|
||||||
|
<a class="<%= class_name %>" href="<%- url_for(post.link) %>" target="_blank" itemprop="url"><%= post.title %></a>
|
||||||
|
</h1>
|
||||||
|
<% } else if (post.title){ %>
|
||||||
|
<% if (index){ %>
|
||||||
|
<h1 itemprop="name">
|
||||||
|
<a class="<%= class_name %>" href="<%- url_for(post.path) %>"><%= post.title %></a>
|
||||||
|
</h1>
|
||||||
|
<% } else { %>
|
||||||
|
<h1 class="<%= class_name %>" itemprop="headline name">
|
||||||
|
<%= post.title %>
|
||||||
|
</h1>
|
||||||
|
<% } %>
|
||||||
|
<% } %>
|
5
themes/svrjs/layout/_partial/sidebar.ejs
Normal file
5
themes/svrjs/layout/_partial/sidebar.ejs
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
<aside id="sidebar"<% if (theme.sidebar === 'bottom'){ %> class="outer"<% } %>>
|
||||||
|
<% theme.widgets.forEach(function(widget){ %>
|
||||||
|
<%- partial('_widget/' + widget) %>
|
||||||
|
<% }) %>
|
||||||
|
</aside>
|
8
themes/svrjs/layout/_widget/archive.ejs
Normal file
8
themes/svrjs/layout/_widget/archive.ejs
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
<% if (site.posts.length){ %>
|
||||||
|
<div class="widget-wrap">
|
||||||
|
<h3 class="widget-title"><%= __('archive_a') %></h3>
|
||||||
|
<div class="widget">
|
||||||
|
<%- list_archives({show_count: theme.show_count, type: theme.archive_type}) %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<% } %>
|
8
themes/svrjs/layout/_widget/category.ejs
Normal file
8
themes/svrjs/layout/_widget/category.ejs
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
<% if (site.categories.length){ %>
|
||||||
|
<div class="widget-wrap">
|
||||||
|
<h3 class="widget-title"><%= __('categories') %></h3>
|
||||||
|
<div class="widget">
|
||||||
|
<%- list_categories({show_count: theme.show_count}) %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<% } %>
|
14
themes/svrjs/layout/_widget/recent_posts.ejs
Normal file
14
themes/svrjs/layout/_widget/recent_posts.ejs
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
<% if (site.posts.length){ %>
|
||||||
|
<div class="widget-wrap">
|
||||||
|
<h3 class="widget-title"><%= __('recent_posts') %></h3>
|
||||||
|
<div class="widget">
|
||||||
|
<ul>
|
||||||
|
<% site.posts.sort('date', -1).limit(theme.recent_posts_limits).each(function(post){ %>
|
||||||
|
<li>
|
||||||
|
<a href="<%- url_for(post.path) %>"><%= post.title || '(no title)' %></a>
|
||||||
|
</li>
|
||||||
|
<% }) %>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<% } %>
|
12
themes/svrjs/layout/_widget/search.ejs
Normal file
12
themes/svrjs/layout/_widget/search.ejs
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
<% if (site.posts.length){ %>
|
||||||
|
<div class="widget-wrap">
|
||||||
|
<h3 class="widget-title"><%= __('search') %></h3>
|
||||||
|
<div class="widget">
|
||||||
|
<form action="//duckduckgo.com" method="get" accept-charset="UTF-8" class="search-form">
|
||||||
|
<input type="search" name="q" class="search-form-input" placeholder="Search (through DuckDuckGo)"><button type="submit" class="search-form-submit"></button>
|
||||||
|
<!--Input and button on the same line to make IE9 work-->
|
||||||
|
<input type="hidden" name="sites" value="<%= config.url %>">
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<% } %>
|
8
themes/svrjs/layout/_widget/tag.ejs
Normal file
8
themes/svrjs/layout/_widget/tag.ejs
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
<% if (site.tags.length){ %>
|
||||||
|
<div class="widget-wrap">
|
||||||
|
<h3 class="widget-title"><%= __('tags') %></h3>
|
||||||
|
<div class="widget">
|
||||||
|
<%- list_tags({show_count: theme.show_count}) %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<% } %>
|
8
themes/svrjs/layout/_widget/tagcloud.ejs
Normal file
8
themes/svrjs/layout/_widget/tagcloud.ejs
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
<% if (site.tags.length){ %>
|
||||||
|
<div class="widget-wrap">
|
||||||
|
<h3 class="widget-title"><%= __('tagcloud') %></h3>
|
||||||
|
<div class="widget tagcloud">
|
||||||
|
<%- tagcloud() %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<% } %>
|
1
themes/svrjs/layout/archive.ejs
Normal file
1
themes/svrjs/layout/archive.ejs
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<%- partial('_partial/archive', {pagination: config.archive, index: true}) %>
|
1
themes/svrjs/layout/category.ejs
Normal file
1
themes/svrjs/layout/category.ejs
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<%- partial('_partial/archive', {pagination: config.category, index: true}) %>
|
1
themes/svrjs/layout/index.ejs
Normal file
1
themes/svrjs/layout/index.ejs
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<%- partial('_partial/archive', {pagination: 2, index: true}) %>
|
15
themes/svrjs/layout/layout.ejs
Normal file
15
themes/svrjs/layout/layout.ejs
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="<%= config.language %>">
|
||||||
|
<%- partial('_partial/head') %>
|
||||||
|
<body>
|
||||||
|
<%- partial('_partial/header', null, {cache: !config.relative_link}) %>
|
||||||
|
<div class="outer">
|
||||||
|
<section id="main"><%- body %></section>
|
||||||
|
<% if (theme.sidebar && theme.sidebar !== 'bottom'){ %>
|
||||||
|
<%- partial('_partial/sidebar', null, {cache: !config.relative_link}) %>
|
||||||
|
<% } %>
|
||||||
|
</div>
|
||||||
|
<%- partial('_partial/footer', null, {cache: !config.relative_link}) %>
|
||||||
|
<%- partial('_partial/after-footer') %>
|
||||||
|
</body>
|
||||||
|
</html>
|
1
themes/svrjs/layout/page.ejs
Normal file
1
themes/svrjs/layout/page.ejs
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<%- partial('_partial/article', {post: page, index: false}) %>
|
1
themes/svrjs/layout/post.ejs
Normal file
1
themes/svrjs/layout/post.ejs
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<%- partial('_partial/article', {post: page, index: false}) %>
|
1
themes/svrjs/layout/tag.ejs
Normal file
1
themes/svrjs/layout/tag.ejs
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<%- partial('_partial/archive', {pagination: config.tag, index: true}) %>
|
44
themes/svrjs/package.json
Normal file
44
themes/svrjs/package.json
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
{
|
||||||
|
"_from": "hexo-theme-landscape@^1.0.0",
|
||||||
|
"_id": "hexo-theme-landscape@1.0.0",
|
||||||
|
"_inBundle": false,
|
||||||
|
"_integrity": "sha512-bWQJWMqQI78wWiJPQZq5pJBH20TM442ShCaHGRetuEgMraxH0OKxB3NTupJzNEkzEk8DV2yrdizkXdKN6i501A==",
|
||||||
|
"_location": "/hexo-theme-landscape",
|
||||||
|
"_phantomChildren": {},
|
||||||
|
"_requested": {
|
||||||
|
"type": "range",
|
||||||
|
"registry": true,
|
||||||
|
"raw": "hexo-theme-landscape@^1.0.0",
|
||||||
|
"name": "hexo-theme-landscape",
|
||||||
|
"escapedName": "hexo-theme-landscape",
|
||||||
|
"rawSpec": "^1.0.0",
|
||||||
|
"saveSpec": null,
|
||||||
|
"fetchSpec": "^1.0.0"
|
||||||
|
},
|
||||||
|
"_requiredBy": [
|
||||||
|
"/"
|
||||||
|
],
|
||||||
|
"_resolved": "https://registry.npmjs.org/hexo-theme-landscape/-/hexo-theme-landscape-1.0.0.tgz",
|
||||||
|
"_shasum": "43a549ebb2bea73196200ee4397feb764131a481",
|
||||||
|
"_spec": "hexo-theme-landscape@^1.0.0",
|
||||||
|
"_where": "/home/ubuntu/svrjs-blog",
|
||||||
|
"bugs": {
|
||||||
|
"url": "https://github.com/hexojs/hexo-theme-landscape/issues"
|
||||||
|
},
|
||||||
|
"bundleDependencies": false,
|
||||||
|
"deprecated": false,
|
||||||
|
"description": "Hexo Theme Landscape",
|
||||||
|
"homepage": "https://github.com/hexojs/hexo-theme-landscape#readme",
|
||||||
|
"keywords": [
|
||||||
|
"hexo",
|
||||||
|
"theme",
|
||||||
|
"landscape"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"name": "hexo-theme-landscape",
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "git+https://github.com/hexojs/hexo-theme-landscape.git"
|
||||||
|
},
|
||||||
|
"version": "1.0.0"
|
||||||
|
}
|
24
themes/svrjs/scripts/fancybox.js
Normal file
24
themes/svrjs/scripts/fancybox.js
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
var rUrl = /((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[.\!\/\\w]*))?)/;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fancybox tag
|
||||||
|
*
|
||||||
|
* Syntax:
|
||||||
|
* {% fancybox /path/to/image [/path/to/thumbnail] [title] %}
|
||||||
|
*/
|
||||||
|
|
||||||
|
hexo.extend.tag.register('fancybox', function(args){
|
||||||
|
var original = args.shift(),
|
||||||
|
thumbnail = '';
|
||||||
|
|
||||||
|
if (args.length && rUrl.test(args[0])){
|
||||||
|
thumbnail = args.shift();
|
||||||
|
}
|
||||||
|
|
||||||
|
var title = args.join(' ');
|
||||||
|
|
||||||
|
return `<a data-fancybox="gallery" href="${original}" data-caption="${title}">
|
||||||
|
<img src="${thumbnail || original}" alt="${title}">
|
||||||
|
</a>
|
||||||
|
${title ? `<span class="caption">${title}</span>` : ''}`;
|
||||||
|
});
|
65
themes/svrjs/source/css/_extend.styl
Normal file
65
themes/svrjs/source/css/_extend.styl
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
$block-caption
|
||||||
|
text-decoration: none
|
||||||
|
text-transform: uppercase
|
||||||
|
letter-spacing: 2px
|
||||||
|
color: color-link
|
||||||
|
margin-bottom: 1em
|
||||||
|
margin-left: 5px
|
||||||
|
line-height: 1em
|
||||||
|
font-weight: bold
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
color: color-link-dark
|
||||||
|
|
||||||
|
$block
|
||||||
|
background: #fff
|
||||||
|
box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.175)
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
background: #000900
|
||||||
|
box-shadow: 0 5px 10px 0 rgba(127, 127, 127, 0.175)
|
||||||
|
|
||||||
|
$base-style
|
||||||
|
h1
|
||||||
|
font-size: 2em
|
||||||
|
h2
|
||||||
|
font-size: 1.5em
|
||||||
|
h3
|
||||||
|
font-size: 1.3em
|
||||||
|
h4
|
||||||
|
font-size: 1.2em
|
||||||
|
h5
|
||||||
|
font-size: 1em
|
||||||
|
h6
|
||||||
|
font-size: 1em
|
||||||
|
color: color-grey
|
||||||
|
hr
|
||||||
|
border: 1px dashed color-border
|
||||||
|
strong
|
||||||
|
font-weight: bold
|
||||||
|
em, cite
|
||||||
|
font-style: italic
|
||||||
|
sup, sub
|
||||||
|
font-size: 0.75em
|
||||||
|
line-height: 0
|
||||||
|
position: relative
|
||||||
|
vertical-align: baseline
|
||||||
|
sup
|
||||||
|
top: -0.5em
|
||||||
|
sub
|
||||||
|
bottom: -0.2em
|
||||||
|
small
|
||||||
|
font-size: 0.85em
|
||||||
|
acronym, abbr
|
||||||
|
border-bottom: 1px dotted
|
||||||
|
ul, ol, dl
|
||||||
|
margin: 0 20px
|
||||||
|
line-height: line-height
|
||||||
|
ul, ol
|
||||||
|
ul, ol
|
||||||
|
margin-top: 0
|
||||||
|
margin-bottom: 0
|
||||||
|
ul
|
||||||
|
list-style: disc
|
||||||
|
ol
|
||||||
|
list-style: decimal
|
||||||
|
dt
|
||||||
|
font-weight: bold
|
47
themes/svrjs/source/css/_font.styl
Normal file
47
themes/svrjs/source/css/_font.styl
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
@font-face
|
||||||
|
font-family: "FreeSans"
|
||||||
|
font-display: swap
|
||||||
|
src: url("/fonts/FreeSans.woff") format("woff"), url("/fonts/FreeSans.ttf") format("truetype")
|
||||||
|
|
||||||
|
@font-face
|
||||||
|
font-family: "FreeSans"
|
||||||
|
font-weight: bold
|
||||||
|
font-display: swap
|
||||||
|
src: url("/fonts/FreeSansBold.woff") format("woff"), url("/fonts/FreeSansBold.ttf") format("truetype")
|
||||||
|
|
||||||
|
@font-face
|
||||||
|
font-family: "FreeSans"
|
||||||
|
font-style: italic
|
||||||
|
font-display: swap
|
||||||
|
src: url("/fonts/FreeSansOblique.woff") format("woff"), url("/fonts/FreeSansOblique.ttf") format("truetype")
|
||||||
|
|
||||||
|
@font-face
|
||||||
|
font-family: "FreeSans"
|
||||||
|
font-style: italic
|
||||||
|
font-weight: bold
|
||||||
|
font-display: swap
|
||||||
|
src: url("/fonts/FreeSansBoldOblique.woff") format("woff"), url("/fonts/FreeSansBoldOblique.ttf") format("truetype")
|
||||||
|
|
||||||
|
@font-face
|
||||||
|
font-family: "DejaVu Sans Mono"
|
||||||
|
font-display: swap
|
||||||
|
src: url("/fonts/DejaVuSansMono.woff") format("woff"), url("/fonts/DejaVuSansMono.ttf") format("truetype")
|
||||||
|
|
||||||
|
@font-face
|
||||||
|
font-family: "DejaVu Sans Mono"
|
||||||
|
font-weight: bold
|
||||||
|
font-display: swap
|
||||||
|
src: url("/fonts/DejaVuSansMono-Bold.woff") format("woff"), url("/fonts/DejaVuSansMono-Bold.ttf") format("truetype")
|
||||||
|
|
||||||
|
@font-face
|
||||||
|
font-family: "DejaVu Sans Mono"
|
||||||
|
font-style: italic
|
||||||
|
font-display: swap
|
||||||
|
src: url("/fonts/DejaVuSansMono-Oblique.woff") format("woff"), url("/fonts/DejaVuSansMono-Oblique.ttf") format("truetype")
|
||||||
|
|
||||||
|
@font-face
|
||||||
|
font-family: "DejaVu Sans Mono"
|
||||||
|
font-style: italic
|
||||||
|
font-weight: bold
|
||||||
|
font-display: swap
|
||||||
|
src: url("/fonts/DejaVuSansMono-BoldOblique.woff") format("woff"), url("/fonts/DejaVuSansMono-BoldOblique.ttf") format("truetype")
|
87
themes/svrjs/source/css/_partial/archive.styl
Normal file
87
themes/svrjs/source/css/_partial/archive.styl
Normal file
|
@ -0,0 +1,87 @@
|
||||||
|
.archives-wrap
|
||||||
|
margin: block-margin 0
|
||||||
|
|
||||||
|
.archives
|
||||||
|
clearfix()
|
||||||
|
|
||||||
|
.archive-year-wrap
|
||||||
|
margin-bottom: 1em
|
||||||
|
|
||||||
|
.archive-year
|
||||||
|
@extend $block-caption
|
||||||
|
|
||||||
|
.archives
|
||||||
|
column-gap: 10px
|
||||||
|
@media mq-tablet
|
||||||
|
column-count: 2
|
||||||
|
@media mq-normal
|
||||||
|
column-count: 3
|
||||||
|
|
||||||
|
.archive-article
|
||||||
|
avoid-column-break()
|
||||||
|
|
||||||
|
.archive-article-inner
|
||||||
|
@extend $block
|
||||||
|
padding: 10px
|
||||||
|
margin-bottom: 15px
|
||||||
|
|
||||||
|
.archive-article-title
|
||||||
|
text-decoration: none
|
||||||
|
font-weight: bold
|
||||||
|
color: color-default
|
||||||
|
line-height: line-height
|
||||||
|
&:hover
|
||||||
|
color: color-link
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
color: color-link-dark
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
color: color-default-dark
|
||||||
|
|
||||||
|
.archive-article-footer
|
||||||
|
margin-top: 1em
|
||||||
|
|
||||||
|
.archive-article-date
|
||||||
|
color: color-grey
|
||||||
|
text-decoration: none
|
||||||
|
font-size: 0.85em
|
||||||
|
line-height: 1em
|
||||||
|
margin-bottom: 0.5em
|
||||||
|
display: block
|
||||||
|
|
||||||
|
#page-nav
|
||||||
|
clearfix()
|
||||||
|
margin: block-margin auto
|
||||||
|
text-align: center
|
||||||
|
color: color-link
|
||||||
|
overflow: hidden
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
color: color-link-dark
|
||||||
|
a, span
|
||||||
|
padding: 10px 20px
|
||||||
|
line-height: 1
|
||||||
|
height: 2ex
|
||||||
|
a
|
||||||
|
color: color-link
|
||||||
|
text-decoration: none
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
color: color-link-dark
|
||||||
|
&:hover
|
||||||
|
background: color-link
|
||||||
|
color: #fff
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
background: color-link-dark
|
||||||
|
.prev
|
||||||
|
float: left
|
||||||
|
.next
|
||||||
|
float: right
|
||||||
|
.page-number
|
||||||
|
display: inline-block
|
||||||
|
@media mq-mobile
|
||||||
|
display: none
|
||||||
|
.current
|
||||||
|
color: color-default
|
||||||
|
font-weight: bold
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
color: color-default-dark
|
||||||
|
.space
|
||||||
|
color: color-border
|
362
themes/svrjs/source/css/_partial/article.styl
Normal file
362
themes/svrjs/source/css/_partial/article.styl
Normal file
|
@ -0,0 +1,362 @@
|
||||||
|
.article
|
||||||
|
margin: 0
|
||||||
|
margin-bottom: block-margin
|
||||||
|
margin-top: block-margin * 0.72
|
||||||
|
|
||||||
|
.article-inner
|
||||||
|
@extend $block
|
||||||
|
overflow: hidden
|
||||||
|
|
||||||
|
.article-meta
|
||||||
|
clearfix()
|
||||||
|
|
||||||
|
.article-date
|
||||||
|
@extend $block-caption
|
||||||
|
float: left
|
||||||
|
|
||||||
|
.article-category
|
||||||
|
float: left
|
||||||
|
line-height: 1em
|
||||||
|
color: #ccc
|
||||||
|
margin-left: 8px
|
||||||
|
&:before
|
||||||
|
content: "\2022"
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
color: #333
|
||||||
|
|
||||||
|
.article-category-link
|
||||||
|
@extend $block-caption
|
||||||
|
margin: 0 12px 1em
|
||||||
|
|
||||||
|
.article-header
|
||||||
|
padding: article-padding-tb article-padding 0
|
||||||
|
|
||||||
|
.article-title
|
||||||
|
text-decoration: none
|
||||||
|
font-size: 2em
|
||||||
|
font-weight: bold
|
||||||
|
color: color-default
|
||||||
|
line-height: line-height-title
|
||||||
|
a&:hover
|
||||||
|
color: color-link
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
color: color-link-dark
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
color: color-default-dark
|
||||||
|
|
||||||
|
.article-entry
|
||||||
|
@extend $base-style
|
||||||
|
clearfix()
|
||||||
|
color: color-default
|
||||||
|
padding: 0 article-padding
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
color: color-default-dark
|
||||||
|
p, table
|
||||||
|
line-height: line-height
|
||||||
|
margin: line-height 0
|
||||||
|
h1, h2, h3, h4, h5, h6
|
||||||
|
font-weight: bold
|
||||||
|
h1, h2, h3, h4, h5, h6
|
||||||
|
line-height: line-height-title
|
||||||
|
margin: line-height-title 0
|
||||||
|
a
|
||||||
|
color: color-link
|
||||||
|
text-decoration: none
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
color: color-link-dark
|
||||||
|
&:hover
|
||||||
|
text-decoration: underline
|
||||||
|
ul, ol, dl
|
||||||
|
margin-top: line-height
|
||||||
|
margin-bottom: line-height
|
||||||
|
img, video
|
||||||
|
max-width: 100%
|
||||||
|
height: auto
|
||||||
|
display: block
|
||||||
|
margin: auto
|
||||||
|
iframe
|
||||||
|
border: none
|
||||||
|
table
|
||||||
|
width: 100%
|
||||||
|
border-collapse: collapse
|
||||||
|
border-spacing: 0
|
||||||
|
position: relative
|
||||||
|
background-color: #ffffff
|
||||||
|
box-shadow: 1px 2px 10px rgba(0, 0, 0, 0.2)
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
box-shadow: 1px 2px 10px rgba(127, 127, 127, 0.2)
|
||||||
|
background-color: #000f00
|
||||||
|
th
|
||||||
|
font-weight: bold
|
||||||
|
background-color: #007000
|
||||||
|
td
|
||||||
|
padding: 10px 0
|
||||||
|
blockquote
|
||||||
|
font-family: font-sans
|
||||||
|
margin: line-height 20px
|
||||||
|
text-align: center
|
||||||
|
footer
|
||||||
|
font-size: font-size
|
||||||
|
margin: line-height 0
|
||||||
|
font-family: font-sans
|
||||||
|
cite
|
||||||
|
&:before
|
||||||
|
content: "—"
|
||||||
|
padding: 0 0.5em
|
||||||
|
.pullquote
|
||||||
|
text-align: left
|
||||||
|
width: 45%
|
||||||
|
margin: 0
|
||||||
|
&.left
|
||||||
|
margin-left: 0.5em
|
||||||
|
margin-right: 1em
|
||||||
|
&.right
|
||||||
|
margin-right: 0.5em
|
||||||
|
margin-left: 1em
|
||||||
|
.caption
|
||||||
|
color: color-grey
|
||||||
|
display: block
|
||||||
|
font-size: 0.9em
|
||||||
|
margin-top: 0.5em
|
||||||
|
position: relative
|
||||||
|
text-align: center
|
||||||
|
// http://webdesignerwall.com/tutorials/css-elastic-videos
|
||||||
|
.video-container
|
||||||
|
position: relative
|
||||||
|
padding-top: (9 / 16 * 100)% // 16:9 ratio
|
||||||
|
height: 0
|
||||||
|
overflow: hidden
|
||||||
|
iframe, object, embed
|
||||||
|
position: absolute
|
||||||
|
top: 0
|
||||||
|
left: 0
|
||||||
|
width: 100%
|
||||||
|
height: 100%
|
||||||
|
margin-top: 0
|
||||||
|
|
||||||
|
.article-more-link a
|
||||||
|
display: inline-block
|
||||||
|
line-height: 1em
|
||||||
|
padding: 6px 15px
|
||||||
|
background: #00b000
|
||||||
|
color: #ffffff
|
||||||
|
text-decoration: none
|
||||||
|
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.25);
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
box-shadow: 0 4px 8px 0 rgba(127, 127, 127, 0.25);
|
||||||
|
&:hover
|
||||||
|
background: #007000
|
||||||
|
color: #ffffff
|
||||||
|
text-decoration: none
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
background: #00d000
|
||||||
|
|
||||||
|
.article-footer
|
||||||
|
clearfix()
|
||||||
|
font-size: 0.85em
|
||||||
|
line-height: line-height
|
||||||
|
border-top: 1px solid color-border
|
||||||
|
padding-top: line-height
|
||||||
|
margin: 0 article-padding article-padding-tb
|
||||||
|
a
|
||||||
|
color: color-grey
|
||||||
|
text-decoration: none
|
||||||
|
&:hover
|
||||||
|
color: color-default
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
color: color-default-dark
|
||||||
|
|
||||||
|
.article-tag-list-item
|
||||||
|
float: left
|
||||||
|
margin-right: 10px
|
||||||
|
|
||||||
|
.article-tag-list-link
|
||||||
|
&:before
|
||||||
|
content: "#"
|
||||||
|
|
||||||
|
.article-comment-link
|
||||||
|
float: right
|
||||||
|
&:before
|
||||||
|
padding-right: 8px
|
||||||
|
|
||||||
|
.article-share-link
|
||||||
|
cursor: pointer
|
||||||
|
float: right
|
||||||
|
margin-left: 20px
|
||||||
|
&:before
|
||||||
|
padding-right: 6px
|
||||||
|
|
||||||
|
#article-nav
|
||||||
|
clearfix()
|
||||||
|
position: relative
|
||||||
|
@media mq-normal
|
||||||
|
margin: block-margin 0
|
||||||
|
&:before
|
||||||
|
absolute-center(8px)
|
||||||
|
content: ""
|
||||||
|
border-radius: 50%
|
||||||
|
background: color-nav
|
||||||
|
box-shadow: 0 1px 2px #fff
|
||||||
|
|
||||||
|
.article-nav-link-wrap
|
||||||
|
text-decoration: none
|
||||||
|
color: color-link
|
||||||
|
box-sizing: border-box
|
||||||
|
margin-top: block-margin
|
||||||
|
text-align: center
|
||||||
|
display: block
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
color: color-link-dark
|
||||||
|
&:hover
|
||||||
|
color: color-default
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
color: color-default-dark
|
||||||
|
@media mq-normal
|
||||||
|
width: 50%
|
||||||
|
margin-top: 0
|
||||||
|
|
||||||
|
#article-nav-newer
|
||||||
|
@media mq-normal
|
||||||
|
float: left
|
||||||
|
text-align: right
|
||||||
|
padding-right: 20px
|
||||||
|
|
||||||
|
#article-nav-older
|
||||||
|
@media mq-normal
|
||||||
|
float: right
|
||||||
|
text-align: left
|
||||||
|
padding-left: 20px
|
||||||
|
|
||||||
|
.article-nav-caption
|
||||||
|
text-transform: uppercase
|
||||||
|
letter-spacing: 2px
|
||||||
|
color: color-nav
|
||||||
|
line-height: 1em
|
||||||
|
font-weight: bold
|
||||||
|
#article-nav-newer &
|
||||||
|
margin-right: -2px
|
||||||
|
|
||||||
|
.article-nav-title
|
||||||
|
font-size: 0.85em
|
||||||
|
line-height: line-height
|
||||||
|
margin-top: 0.5em
|
||||||
|
|
||||||
|
.article-share-box
|
||||||
|
position: absolute
|
||||||
|
display: none
|
||||||
|
background: #fff
|
||||||
|
box-shadow: 1px 2px 10px rgba(0, 0, 0, 0.2)
|
||||||
|
margin-left: -145px
|
||||||
|
overflow: hidden
|
||||||
|
z-index: 1
|
||||||
|
&.on
|
||||||
|
display: block
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
background: #000
|
||||||
|
box-shadow: 1px 2px 10px rgba(127, 127, 127, 0.2)
|
||||||
|
|
||||||
|
.article-share-input
|
||||||
|
width: 100%
|
||||||
|
background: none
|
||||||
|
box-sizing: border-box
|
||||||
|
font: 14px font-sans
|
||||||
|
padding: 0 15px
|
||||||
|
color: color-default
|
||||||
|
outline: none
|
||||||
|
border: 1px solid color-border
|
||||||
|
height: 36px
|
||||||
|
line-height: 36px
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
color: color-default-dark
|
||||||
|
border: 1px solid color-border-dark
|
||||||
|
|
||||||
|
.article-share-links
|
||||||
|
clearfix()
|
||||||
|
background: color-white
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
background: #000000
|
||||||
|
|
||||||
|
$article-share-link
|
||||||
|
width: 25%
|
||||||
|
height: 36px
|
||||||
|
line-height: 36px
|
||||||
|
display: block
|
||||||
|
float: left
|
||||||
|
position: relative
|
||||||
|
color: #999
|
||||||
|
text-shadow: 0 1px #fff
|
||||||
|
text-align: center
|
||||||
|
&:before
|
||||||
|
font-size: 20px
|
||||||
|
absolute-center(@font-size)
|
||||||
|
text-align: center
|
||||||
|
&:hover
|
||||||
|
text-shadow: 0 1px #fff
|
||||||
|
color: #fff
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
text-shadow: 0 1px #000
|
||||||
|
|
||||||
|
.article-share-twitter
|
||||||
|
@extend $article-share-link
|
||||||
|
&:hover
|
||||||
|
background: color-twitter
|
||||||
|
text-shadow: 0 1px darken(color-twitter, 20%)
|
||||||
|
|
||||||
|
.article-share-facebook
|
||||||
|
@extend $article-share-link
|
||||||
|
&:hover
|
||||||
|
background: color-facebook
|
||||||
|
text-shadow: 0 1px darken(color-facebook, 20%)
|
||||||
|
|
||||||
|
.article-share-pinterest
|
||||||
|
@extend $article-share-link
|
||||||
|
&:hover
|
||||||
|
background: color-pinterest
|
||||||
|
text-shadow: 0 1px darken(color-pinterest, 20%)
|
||||||
|
|
||||||
|
.article-share-linkedin
|
||||||
|
@extend $article-share-link
|
||||||
|
&:hover
|
||||||
|
background: color-linkedin
|
||||||
|
text-shadow: 0 1px darken(color-linkedin, 20%)
|
||||||
|
|
||||||
|
.article-gallery
|
||||||
|
background: #000
|
||||||
|
position: relative
|
||||||
|
margin-top: article-padding-tb * 0.66
|
||||||
|
|
||||||
|
.article-gallery-noheader
|
||||||
|
margin-top: 0
|
||||||
|
|
||||||
|
.article-gallery-photos
|
||||||
|
position: relative
|
||||||
|
overflow: hidden
|
||||||
|
|
||||||
|
a.article-gallery-thumbnail
|
||||||
|
display: block
|
||||||
|
width: 100%
|
||||||
|
&:hover
|
||||||
|
img
|
||||||
|
opacity: 66.6666%
|
||||||
|
img
|
||||||
|
display: block
|
||||||
|
width: 100%
|
||||||
|
|
||||||
|
img.article-gallery-thumbnail
|
||||||
|
background: #ffffff
|
||||||
|
display: block
|
||||||
|
width: 100%
|
||||||
|
|
||||||
|
.article-gallery-img
|
||||||
|
display: none
|
||||||
|
max-width: 100%
|
||||||
|
&:first-child
|
||||||
|
display: block
|
||||||
|
&.loaded
|
||||||
|
position: absolute
|
||||||
|
display: block
|
||||||
|
img
|
||||||
|
background: #ffffff
|
||||||
|
display: block
|
||||||
|
max-width: 100%
|
||||||
|
margin: 0 auto
|
14
themes/svrjs/source/css/_partial/comment.styl
Normal file
14
themes/svrjs/source/css/_partial/comment.styl
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
#comments
|
||||||
|
background: #fff
|
||||||
|
color: color-default
|
||||||
|
box-shadow: 1px 2px 3px #ddd
|
||||||
|
padding: article-padding
|
||||||
|
border: 1px solid color-border
|
||||||
|
border-radius: 3px
|
||||||
|
margin: block-margin 0
|
||||||
|
a
|
||||||
|
color: color-link
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
background: #000900
|
||||||
|
color: color-default-dark
|
||||||
|
border: 1px solid color-border-dark
|
57
themes/svrjs/source/css/_partial/footer.styl
Normal file
57
themes/svrjs/source/css/_partial/footer.styl
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
#footer
|
||||||
|
box-shadow: 0 -4px 8px 0 rgba(0, 0, 0, 0.2);
|
||||||
|
background: color-footer-background
|
||||||
|
padding: 1.75em 1em
|
||||||
|
color: color-white
|
||||||
|
display: block
|
||||||
|
user-select: none
|
||||||
|
a
|
||||||
|
color: #ffffff
|
||||||
|
text-decoration: underline
|
||||||
|
&:hover
|
||||||
|
color: #00ff00
|
||||||
|
text-decoration: underline
|
||||||
|
hr
|
||||||
|
border-color: white
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
box-shadow: 0 -4px 8px 0 rgba(127, 127, 127, 0.2)
|
||||||
|
|
||||||
|
#footer-info
|
||||||
|
max-width: 1440px
|
||||||
|
width: 100%
|
||||||
|
margin: auto
|
||||||
|
|
||||||
|
.footer-copyright-text
|
||||||
|
font-size: 1.25em
|
||||||
|
margin: 0
|
||||||
|
margin-top: 0.5em
|
||||||
|
padding-bottom: 0.5em
|
||||||
|
display: block
|
||||||
|
text-align: center
|
||||||
|
|
||||||
|
.footer-layout
|
||||||
|
display: table
|
||||||
|
table-layout: fixed
|
||||||
|
width: 100%
|
||||||
|
font-size: 1.075em
|
||||||
|
@media screen and (max-width: 768px)
|
||||||
|
display: block
|
||||||
|
|
||||||
|
.footer-column
|
||||||
|
display: table-cell
|
||||||
|
padding: 0.3em
|
||||||
|
@media screen and (max-width: 768px)
|
||||||
|
display: block
|
||||||
|
text-align: center
|
||||||
|
padding: 0
|
||||||
|
|
||||||
|
.footer-headline
|
||||||
|
display: block
|
||||||
|
font-weight: bold
|
||||||
|
font-size: 1.525em
|
||||||
|
|
||||||
|
.footer-list
|
||||||
|
margin: 0
|
||||||
|
padding: 0
|
||||||
|
margin-bottom: 1em
|
||||||
|
list-style-type: none
|
122
themes/svrjs/source/css/_partial/header.styl
Normal file
122
themes/svrjs/source/css/_partial/header.styl
Normal file
|
@ -0,0 +1,122 @@
|
||||||
|
#header
|
||||||
|
position: relative
|
||||||
|
position: sticky
|
||||||
|
top: 0
|
||||||
|
z-index: 10
|
||||||
|
padding: 0.65em 0.45em
|
||||||
|
background-color: #ffffff
|
||||||
|
display: block
|
||||||
|
user-select: none
|
||||||
|
&:after
|
||||||
|
position: absolute
|
||||||
|
top: 0
|
||||||
|
bottom: 0
|
||||||
|
left: 0
|
||||||
|
right: 0
|
||||||
|
content: ' '
|
||||||
|
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2)
|
||||||
|
z-index: -1
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
box-shadow: 0 4px 8px 0 rgba(127, 127, 127, 0.2)
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
background-color: #004f00
|
||||||
|
|
||||||
|
.header-contents
|
||||||
|
display: table
|
||||||
|
width: 100%
|
||||||
|
table-layout: fixed
|
||||||
|
@media screen and (max-width: 350px)
|
||||||
|
display: block
|
||||||
|
|
||||||
|
.headlogo-container
|
||||||
|
display: inline-block
|
||||||
|
|
||||||
|
#headlogo
|
||||||
|
display: inline
|
||||||
|
height: 2.2em
|
||||||
|
padding-left: 0.2em
|
||||||
|
padding-right: 0.35em
|
||||||
|
padding-bottom: 0.03em
|
||||||
|
vertical-align: middle
|
||||||
|
@media screen and (max-width: 480px)
|
||||||
|
height: 1.8em
|
||||||
|
padding-left: 0
|
||||||
|
padding-right: 0.25em
|
||||||
|
padding-bottom: 0
|
||||||
|
|
||||||
|
#headname
|
||||||
|
font-size: 2.3em
|
||||||
|
font-weight: bold
|
||||||
|
vertical-align: middle
|
||||||
|
line-height: 0.9em
|
||||||
|
display: inline-block
|
||||||
|
@media screen and (-ms-high-contrast:active), (-ms-high-contrast:none)
|
||||||
|
margin-top: 0.06em;
|
||||||
|
@media screen and (max-width: 480px)
|
||||||
|
font-size: 1.85em
|
||||||
|
|
||||||
|
.navigation
|
||||||
|
width: 57.5%
|
||||||
|
vertical-align: middle
|
||||||
|
text-align: right
|
||||||
|
position: relative
|
||||||
|
display: table-cell
|
||||||
|
@media screen and (max-width: 350px)
|
||||||
|
width: 100%
|
||||||
|
text-align: left
|
||||||
|
display: block
|
||||||
|
ul
|
||||||
|
overflow-x: auto
|
||||||
|
overflow-y: hidden
|
||||||
|
white-space: nowrap
|
||||||
|
margin: 0
|
||||||
|
padding: 0
|
||||||
|
list-style-type: none
|
||||||
|
display: block
|
||||||
|
li
|
||||||
|
display: inline
|
||||||
|
a
|
||||||
|
text-decoration: none
|
||||||
|
font-size: 1.45em
|
||||||
|
color: #000000
|
||||||
|
user-select: none
|
||||||
|
padding: 0 0.25em
|
||||||
|
&:hover
|
||||||
|
color: #007f00
|
||||||
|
@media screen and (max-width: 480px)
|
||||||
|
font-size: 1.15em
|
||||||
|
padding: 0 0.225em
|
||||||
|
@media screen and (max-width: 372px)
|
||||||
|
font-size: 1.075em
|
||||||
|
padding: 0 0.2em
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
color: #ffffff
|
||||||
|
&:hover
|
||||||
|
color: #00ff00
|
||||||
|
|
||||||
|
.mainlink
|
||||||
|
width: 42.5%
|
||||||
|
white-space: nowrap
|
||||||
|
display: table-cell
|
||||||
|
vertical-align: middle
|
||||||
|
position: relative
|
||||||
|
@media screen and (max-width: 350px)
|
||||||
|
width: 100%
|
||||||
|
a
|
||||||
|
text-decoration: none
|
||||||
|
color: #000000
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
color: #ffffff
|
||||||
|
|
||||||
|
@-moz-document url-prefix()
|
||||||
|
.navigation
|
||||||
|
ul
|
||||||
|
li
|
||||||
|
a
|
||||||
|
display: inline-block
|
||||||
|
margin-bottom: 0.05em
|
||||||
|
|
||||||
|
.header-clearfix
|
||||||
|
clear: both
|
||||||
|
content: ''
|
||||||
|
display: table
|
180
themes/svrjs/source/css/_partial/highlight.styl
Normal file
180
themes/svrjs/source/css/_partial/highlight.styl
Normal file
|
@ -0,0 +1,180 @@
|
||||||
|
// https://github.com/chriskempson/tomorrow-theme
|
||||||
|
highlight-background = #2d2d2d
|
||||||
|
highlight-current-line = #393939
|
||||||
|
highlight-selection = #515151
|
||||||
|
highlight-foreground = #cccccc
|
||||||
|
highlight-comment = #999999
|
||||||
|
highlight-red = #f2777a
|
||||||
|
highlight-orange = #f99157
|
||||||
|
highlight-yellow = #ffcc66
|
||||||
|
highlight-green = #99cc99
|
||||||
|
highlight-aqua = #66cccc
|
||||||
|
highlight-blue = #6699cc
|
||||||
|
highlight-purple = #cc99cc
|
||||||
|
|
||||||
|
$code-block
|
||||||
|
background: highlight-background
|
||||||
|
margin: 0 article-padding * -1
|
||||||
|
padding: 15px article-padding
|
||||||
|
border-style: solid
|
||||||
|
border-color: color-border
|
||||||
|
border-width: 1px 0
|
||||||
|
overflow: auto
|
||||||
|
color: highlight-foreground
|
||||||
|
line-height: font-size * 1.6
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
border-color: color-border-dark
|
||||||
|
|
||||||
|
$line-numbers
|
||||||
|
color: #666
|
||||||
|
font-size: 0.7225em
|
||||||
|
line-height: 1.88235em
|
||||||
|
|
||||||
|
.article-entry
|
||||||
|
pre, code
|
||||||
|
font-family: font-mono
|
||||||
|
font-size: 0.85em
|
||||||
|
code
|
||||||
|
background: color-background
|
||||||
|
text-shadow: 0 1px #fff
|
||||||
|
padding: 0 0.3em
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
background: color-background-dark
|
||||||
|
text-shadow: 0 1px #000
|
||||||
|
table
|
||||||
|
background: highlight-background
|
||||||
|
pre
|
||||||
|
@extend $code-block
|
||||||
|
code
|
||||||
|
background: none
|
||||||
|
text-shadow: none
|
||||||
|
padding: 0
|
||||||
|
.highlight
|
||||||
|
@extend $code-block
|
||||||
|
pre
|
||||||
|
border: none
|
||||||
|
margin: 0
|
||||||
|
padding: 0
|
||||||
|
font-size: 0.85em
|
||||||
|
table
|
||||||
|
margin: 0
|
||||||
|
width: auto
|
||||||
|
box-shadow: none
|
||||||
|
tbody
|
||||||
|
&:after
|
||||||
|
display: none
|
||||||
|
td
|
||||||
|
border: none
|
||||||
|
padding: 0
|
||||||
|
figcaption
|
||||||
|
clearfix()
|
||||||
|
font-size: 0.85em
|
||||||
|
color: highlight-comment
|
||||||
|
line-height: 1em
|
||||||
|
margin-bottom: 1em
|
||||||
|
a
|
||||||
|
float: right
|
||||||
|
.gutter
|
||||||
|
user-select: none
|
||||||
|
overflow-wrap: normal
|
||||||
|
word-wrap: normal
|
||||||
|
word-break: keep-all
|
||||||
|
pre
|
||||||
|
@extend $line-numbers
|
||||||
|
text-align: right
|
||||||
|
padding-right: 20px
|
||||||
|
.line
|
||||||
|
height: font-size * line-height
|
||||||
|
.line.marked
|
||||||
|
background: highlight-selection
|
||||||
|
.gist
|
||||||
|
margin: 0 article-padding * -1
|
||||||
|
border-style: solid
|
||||||
|
border-color: color-border
|
||||||
|
border-width: 1px 0
|
||||||
|
background: highlight-background
|
||||||
|
padding: 15px article-padding 15px 0
|
||||||
|
.gist-file
|
||||||
|
border: none
|
||||||
|
font-family: font-mono
|
||||||
|
margin: 0
|
||||||
|
.gist-data
|
||||||
|
background: none
|
||||||
|
border: none
|
||||||
|
.line-numbers
|
||||||
|
@extend $line-numbers
|
||||||
|
background: none
|
||||||
|
border: none
|
||||||
|
padding: 0 20px 0 0
|
||||||
|
.line-data
|
||||||
|
padding: 0 !important
|
||||||
|
.highlight
|
||||||
|
margin: 0
|
||||||
|
padding: 0
|
||||||
|
border: none
|
||||||
|
font-size: 0.85em
|
||||||
|
.gist-meta
|
||||||
|
background: highlight-background
|
||||||
|
color: highlight-comment
|
||||||
|
font: 0.85em font-sans
|
||||||
|
text-shadow: 0 0
|
||||||
|
padding: 0
|
||||||
|
margin-top: 1em
|
||||||
|
margin-left: article-padding
|
||||||
|
a
|
||||||
|
color: color-link
|
||||||
|
font-weight: normal
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
color: color-link-dark
|
||||||
|
&:hover
|
||||||
|
text-decoration: underline
|
||||||
|
|
||||||
|
pre
|
||||||
|
.comment
|
||||||
|
.title
|
||||||
|
color: highlight-comment
|
||||||
|
.variable
|
||||||
|
.attribute
|
||||||
|
.tag
|
||||||
|
.regexp
|
||||||
|
.ruby .constant
|
||||||
|
.xml .tag .title
|
||||||
|
.xml .pi
|
||||||
|
.xml .doctype
|
||||||
|
.html .doctype
|
||||||
|
.css .id
|
||||||
|
.css .class
|
||||||
|
.css .pseudo
|
||||||
|
color: highlight-red
|
||||||
|
.number
|
||||||
|
.preprocessor
|
||||||
|
.built_in
|
||||||
|
.literal
|
||||||
|
.params
|
||||||
|
.constant
|
||||||
|
color: highlight-orange
|
||||||
|
.class
|
||||||
|
.ruby .class .title
|
||||||
|
.css .rules .attribute
|
||||||
|
color: highlight-green
|
||||||
|
.string
|
||||||
|
.value
|
||||||
|
.inheritance
|
||||||
|
.header
|
||||||
|
.ruby .symbol
|
||||||
|
.xml .cdata
|
||||||
|
color: highlight-green
|
||||||
|
.css .hexcolor
|
||||||
|
color: highlight-aqua
|
||||||
|
.function
|
||||||
|
.python .decorator
|
||||||
|
.python .title
|
||||||
|
.ruby .function .title
|
||||||
|
.ruby .title .keyword
|
||||||
|
.perl .sub
|
||||||
|
.javascript .title
|
||||||
|
.coffeescript .title
|
||||||
|
color: highlight-blue
|
||||||
|
.keyword
|
||||||
|
.javascript .function
|
||||||
|
color: highlight-purple
|
73
themes/svrjs/source/css/_partial/sidebar-aside.styl
Normal file
73
themes/svrjs/source/css/_partial/sidebar-aside.styl
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
#sidebar
|
||||||
|
@media mq-normal
|
||||||
|
column(sidebar-column)
|
||||||
|
|
||||||
|
.widget-wrap
|
||||||
|
margin: 0
|
||||||
|
margin-top: block-margin * 0.72
|
||||||
|
margin-bottom: block-margin
|
||||||
|
|
||||||
|
.widget-title
|
||||||
|
@extend $block-caption
|
||||||
|
|
||||||
|
.widget
|
||||||
|
color: color-sidebar-text
|
||||||
|
background: color-widget-background
|
||||||
|
box-shadow: 0 4px 8px rgba(0,0,0,0.175)
|
||||||
|
padding: 15px
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
background: color-widget-background-dark
|
||||||
|
box-shadow: 0 4px 8px rgba(127,127,127,0.175)
|
||||||
|
a
|
||||||
|
color: color-link
|
||||||
|
text-decoration: none
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
color: color-link-dark
|
||||||
|
&:hover
|
||||||
|
text-decoration: underline
|
||||||
|
ul, ol, dl
|
||||||
|
ul, ol, dl
|
||||||
|
margin-left: 15px
|
||||||
|
list-style: disc
|
||||||
|
.search-form
|
||||||
|
width: 100%
|
||||||
|
margin: auto
|
||||||
|
display: flex
|
||||||
|
position: relative
|
||||||
|
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.125)
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
box-shadow: 0 3px 6px rgba(127, 127, 127, 0.125)
|
||||||
|
.search-form-input
|
||||||
|
padding: 0.25em
|
||||||
|
font-family: inherit
|
||||||
|
font-size: 0.925em
|
||||||
|
width: 80%
|
||||||
|
vertical-align: middle
|
||||||
|
border: 0.125em #00b000 solid
|
||||||
|
outline: none
|
||||||
|
border-radius: 0px
|
||||||
|
box-sizing: border-box
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
background-color: #000000
|
||||||
|
color: #ffffff
|
||||||
|
.search-form-submit
|
||||||
|
padding: 0.3125em
|
||||||
|
font-family: ForkAwesome
|
||||||
|
font-size: 0.925em
|
||||||
|
width: 20%
|
||||||
|
cursor: pointer
|
||||||
|
vertical-align: middle
|
||||||
|
background-color: #00b000
|
||||||
|
border: none
|
||||||
|
outline: none
|
||||||
|
color: #ffffff
|
||||||
|
box-sizing: border-box
|
||||||
|
&:hover
|
||||||
|
background-color: #007000
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
background-color: #00d000
|
||||||
|
&:focus
|
||||||
|
background-color: #007000
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
background-color: #00d000
|
||||||
|
|
29
themes/svrjs/source/css/_partial/sidebar-bottom.styl
Normal file
29
themes/svrjs/source/css/_partial/sidebar-bottom.styl
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
.widget-wrap
|
||||||
|
margin-bottom: block-margin !important
|
||||||
|
@media mq-normal
|
||||||
|
column(main-column)
|
||||||
|
|
||||||
|
.widget-title
|
||||||
|
color: #ccc
|
||||||
|
text-transform: uppercase
|
||||||
|
letter-spacing: 2px
|
||||||
|
margin-bottom: .5em
|
||||||
|
line-height: 1em
|
||||||
|
font-weight: bold
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
color: #333
|
||||||
|
|
||||||
|
.widget
|
||||||
|
color: color-grey
|
||||||
|
ul, ol
|
||||||
|
li
|
||||||
|
display: inline-block
|
||||||
|
zoom:1
|
||||||
|
*display:inline
|
||||||
|
padding-right: .75em
|
||||||
|
/* Having problems getting balanced white space between items
|
||||||
|
li:before
|
||||||
|
content: " | "
|
||||||
|
li:first-child:before
|
||||||
|
content: none
|
||||||
|
*/
|
35
themes/svrjs/source/css/_partial/sidebar.styl
Normal file
35
themes/svrjs/source/css/_partial/sidebar.styl
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
if sidebar is bottom
|
||||||
|
@import "sidebar-bottom"
|
||||||
|
else
|
||||||
|
@import "sidebar-aside"
|
||||||
|
|
||||||
|
.widget
|
||||||
|
@extend $base-style
|
||||||
|
line-height: line-height
|
||||||
|
word-wrap: break-word
|
||||||
|
font-size: 0.9em
|
||||||
|
ul, ol
|
||||||
|
list-style: none
|
||||||
|
margin: 0
|
||||||
|
ul, ol
|
||||||
|
margin: 0 20px
|
||||||
|
ul
|
||||||
|
list-style: disc
|
||||||
|
ol
|
||||||
|
list-style: decimal
|
||||||
|
|
||||||
|
.category-list-count
|
||||||
|
.tag-list-count
|
||||||
|
.archive-list-count
|
||||||
|
padding-left: 5px
|
||||||
|
color: color-grey
|
||||||
|
font-size: 0.85em
|
||||||
|
&:before
|
||||||
|
content: "("
|
||||||
|
&:after
|
||||||
|
content: ")"
|
||||||
|
|
||||||
|
.tagcloud
|
||||||
|
a
|
||||||
|
margin-right: 5px
|
||||||
|
display: inline-block
|
38
themes/svrjs/source/css/_util/grid.styl
Normal file
38
themes/svrjs/source/css/_util/grid.styl
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
/////////////////
|
||||||
|
// Semantic.gs // for Stylus: http://learnboost.github.com/stylus/
|
||||||
|
/////////////////
|
||||||
|
|
||||||
|
// Utility function — you should never need to modify this
|
||||||
|
// _gridsystem-width = (column-width + gutter-width) * columns
|
||||||
|
gridsystem-width(_columns = columns)
|
||||||
|
(column-width + gutter-width) * _columns
|
||||||
|
|
||||||
|
// Set @total-width to 100% for a fluid layout
|
||||||
|
// total-width = gridsystem-width(columns)
|
||||||
|
total-width = 100%
|
||||||
|
|
||||||
|
//////////
|
||||||
|
// GRID //
|
||||||
|
//////////
|
||||||
|
|
||||||
|
body
|
||||||
|
clearfix()
|
||||||
|
width: 100%
|
||||||
|
|
||||||
|
row(_columns = columns)
|
||||||
|
clearfix()
|
||||||
|
display: block
|
||||||
|
width: total-width * ((gutter-width + gridsystem-width(_columns)) / gridsystem-width(_columns))
|
||||||
|
margin: 0 total-width * (((gutter-width * .5) / gridsystem-width(_columns)) * -1)
|
||||||
|
|
||||||
|
column(x, _columns = columns)
|
||||||
|
display: inline
|
||||||
|
float: left
|
||||||
|
width: total-width * ((((gutter-width + column-width) * x) - gutter-width) / gridsystem-width(_columns))
|
||||||
|
margin: 0 total-width * ((gutter-width * .5) / gridsystem-width(_columns))
|
||||||
|
|
||||||
|
push(offset = 1)
|
||||||
|
margin-left: total-width * (((gutter-width + column-width) * offset) / gridsystem-width(columns))
|
||||||
|
|
||||||
|
pull(offset = 1)
|
||||||
|
margin-right: total-width * (((gutter-width + column-width) * offset) / gridsystem-width(columns))
|
31
themes/svrjs/source/css/_util/mixin.styl
Normal file
31
themes/svrjs/source/css/_util/mixin.styl
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
// http://www.zeldman.com/2012/03/01/replacing-the-9999px-hack-new-image-replacement/
|
||||||
|
hide-text()
|
||||||
|
text-indent: 100%
|
||||||
|
white-space: nowrap
|
||||||
|
overflow: hidden
|
||||||
|
|
||||||
|
// http://codepen.io/shshaw/full/gEiDt
|
||||||
|
absolute-center(width, height = width)
|
||||||
|
// margin: auto
|
||||||
|
// position: absolute
|
||||||
|
// top: 50%
|
||||||
|
// top: 0
|
||||||
|
// left: 0
|
||||||
|
// bottom: 0
|
||||||
|
// right: 0
|
||||||
|
// width: width
|
||||||
|
// height: height
|
||||||
|
// overflow: auto
|
||||||
|
width: width
|
||||||
|
height: height
|
||||||
|
position: absolute
|
||||||
|
top: 50%
|
||||||
|
left: 50%
|
||||||
|
margin-top: width * -0.5
|
||||||
|
margin-left: height * -0.5
|
||||||
|
|
||||||
|
avoid-column-break()
|
||||||
|
vendor("column-break-inside", avoid, only: webkit)
|
||||||
|
page-break-inside: avoid // for firefox
|
||||||
|
overflow: hidden // fix for firefox
|
||||||
|
break-inside: avoid-column
|
73
themes/svrjs/source/css/_variables.styl
Normal file
73
themes/svrjs/source/css/_variables.styl
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
// Config
|
||||||
|
support-for-ie = true
|
||||||
|
vendor-prefixes = webkit moz ms o official
|
||||||
|
|
||||||
|
// Colors
|
||||||
|
color-default = #000000
|
||||||
|
color-default-dark = #ffffff
|
||||||
|
color-grey = #999999
|
||||||
|
color-white = #ffffff
|
||||||
|
color-border = #dddddd
|
||||||
|
color-border-dark = #222222
|
||||||
|
color-link = #007000
|
||||||
|
color-link-dark = #00b000
|
||||||
|
color-background = #dfffdf
|
||||||
|
color-background-dark = #002000
|
||||||
|
color-sidebar-text = #777777
|
||||||
|
color-widget-background = #ffffff
|
||||||
|
color-widget-border = #ccddcc
|
||||||
|
color-widget-background-dark = #000000
|
||||||
|
color-widget-border-dark = #223322
|
||||||
|
color-footer-background = #007000
|
||||||
|
color-mobile-nav-background = #007000
|
||||||
|
color-nav = #007000
|
||||||
|
color-twitter = #00aced
|
||||||
|
color-facebook = #3b5998
|
||||||
|
color-pinterest = #cb2027
|
||||||
|
color-linkedin = #0077B5
|
||||||
|
|
||||||
|
// Fonts
|
||||||
|
// font-sans = -apple-system, BlinkMacSystemFont,
|
||||||
|
// "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell",
|
||||||
|
// "Fira Sans", "Droid Sans", "Helvetica Neue",
|
||||||
|
// sans-serif
|
||||||
|
font-sans = FreeSans, Helvetica, Tahoma, Verdana, Arial, sans-serif
|
||||||
|
//font-serif = Georgia, "Times New Roman", serif
|
||||||
|
font-serif = FreeSerif, "Times New Roman", Times, Georgia, serif
|
||||||
|
//font-mono = "Source Code Pro", Consolas, Monaco, Menlo, Consolas, monospace
|
||||||
|
font-mono = "DejaVu Sans Mono", "Bitstream Vera Sans Mono", Hack, Menlo, Consolas, Monaco, monospace
|
||||||
|
font-icon = ForkAwesome
|
||||||
|
font-size = 1em
|
||||||
|
line-height = 1.45em
|
||||||
|
line-height-title = 1.1em
|
||||||
|
|
||||||
|
// Header
|
||||||
|
logo-size = 40px
|
||||||
|
subtitle-size = 16px
|
||||||
|
banner-height = 300px
|
||||||
|
banner-url = hexo-config("banner")
|
||||||
|
|
||||||
|
sidebar = hexo-config("sidebar")
|
||||||
|
|
||||||
|
// Layout
|
||||||
|
block-margin = 50px
|
||||||
|
article-padding = 14px
|
||||||
|
article-padding-tb = 17px
|
||||||
|
mobile-nav-width = 280px
|
||||||
|
main-column = 9
|
||||||
|
sidebar-column = 3
|
||||||
|
|
||||||
|
if sidebar and sidebar isnt bottom
|
||||||
|
_sidebar-column = sidebar-column
|
||||||
|
else
|
||||||
|
_sidebar-column = 0
|
||||||
|
|
||||||
|
// Grids
|
||||||
|
column-width = 80px
|
||||||
|
gutter-width = 20px
|
||||||
|
columns = main-column + _sidebar-column
|
||||||
|
|
||||||
|
// Media queries
|
||||||
|
mq-mobile = "screen and (max-width: 479px)"
|
||||||
|
mq-tablet = "screen and (min-width: 480px) and (max-width: 767px)"
|
||||||
|
mq-normal = "screen and (min-width: 768px)"
|
BIN
themes/svrjs/source/css/images/navbar-logo.png
Normal file
BIN
themes/svrjs/source/css/images/navbar-logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 30 KiB |
21
themes/svrjs/source/css/style-ie7.styl
Normal file
21
themes/svrjs/source/css/style-ie7.styl
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
@import "_variables"
|
||||||
|
|
||||||
|
global-reset()
|
||||||
|
|
||||||
|
.mainlink
|
||||||
|
float: left
|
||||||
|
|
||||||
|
.headname
|
||||||
|
line-height: normal
|
||||||
|
display: inline
|
||||||
|
|
||||||
|
.navigation
|
||||||
|
float: right
|
||||||
|
padding: 10px 0
|
||||||
|
|
||||||
|
.footer-layout
|
||||||
|
display: block
|
||||||
|
text-align: center
|
||||||
|
|
||||||
|
.footer-column
|
||||||
|
display: block
|
67
themes/svrjs/source/css/style.styl
Normal file
67
themes/svrjs/source/css/style.styl
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
@import "nib"
|
||||||
|
@import "_variables"
|
||||||
|
@import "_font"
|
||||||
|
@import "_util/mixin"
|
||||||
|
@import "_util/grid"
|
||||||
|
|
||||||
|
global-reset()
|
||||||
|
|
||||||
|
a
|
||||||
|
&:focus
|
||||||
|
outline: auto
|
||||||
|
outline: revert
|
||||||
|
|
||||||
|
input, button
|
||||||
|
margin: 0
|
||||||
|
padding: 0
|
||||||
|
&::-moz-focus-inner
|
||||||
|
border: 0
|
||||||
|
padding: 0
|
||||||
|
|
||||||
|
body
|
||||||
|
background: color-background
|
||||||
|
font: font-size font-sans
|
||||||
|
-webkit-text-size-adjust: 100%
|
||||||
|
@media screen and (prefers-color-scheme: dark)
|
||||||
|
background: color-background-dark
|
||||||
|
|
||||||
|
.outer
|
||||||
|
clearfix()
|
||||||
|
max-width: (column-width + gutter-width) * columns + gutter-width
|
||||||
|
margin: 0 auto
|
||||||
|
padding: 0 (gutter-width * 0.6)
|
||||||
|
@media mq-normal
|
||||||
|
padding: 0 gutter-width
|
||||||
|
|
||||||
|
.inner
|
||||||
|
column(columns)
|
||||||
|
|
||||||
|
.left, .alignleft
|
||||||
|
float: left
|
||||||
|
|
||||||
|
.right, .alignright
|
||||||
|
float: right
|
||||||
|
|
||||||
|
.clear
|
||||||
|
clear: both
|
||||||
|
|
||||||
|
if sidebar and sidebar isnt bottom
|
||||||
|
#main
|
||||||
|
@media mq-normal
|
||||||
|
column(main-column)
|
||||||
|
|
||||||
|
if sidebar is left
|
||||||
|
@media mq-normal
|
||||||
|
#main
|
||||||
|
float: right
|
||||||
|
|
||||||
|
@import "_extend"
|
||||||
|
@import "_partial/header"
|
||||||
|
@import "_partial/article"
|
||||||
|
@import "_partial/comment"
|
||||||
|
@import "_partial/archive"
|
||||||
|
@import "_partial/footer"
|
||||||
|
@import "_partial/highlight"
|
||||||
|
|
||||||
|
if sidebar
|
||||||
|
@import "_partial/sidebar"
|
1
themes/svrjs/source/fancybox/jquery.fancybox.min.css
vendored
Normal file
1
themes/svrjs/source/fancybox/jquery.fancybox.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
13
themes/svrjs/source/fancybox/jquery.fancybox.min.js
vendored
Normal file
13
themes/svrjs/source/fancybox/jquery.fancybox.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
BIN
themes/svrjs/source/favicon.ico
Normal file
BIN
themes/svrjs/source/favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 15 KiB |
BIN
themes/svrjs/source/fonts/DejaVuSansMono-Bold.ttf
Normal file
BIN
themes/svrjs/source/fonts/DejaVuSansMono-Bold.ttf
Normal file
Binary file not shown.
BIN
themes/svrjs/source/fonts/DejaVuSansMono-Bold.woff
Normal file
BIN
themes/svrjs/source/fonts/DejaVuSansMono-Bold.woff
Normal file
Binary file not shown.
BIN
themes/svrjs/source/fonts/DejaVuSansMono-BoldOblique.ttf
Normal file
BIN
themes/svrjs/source/fonts/DejaVuSansMono-BoldOblique.ttf
Normal file
Binary file not shown.
BIN
themes/svrjs/source/fonts/DejaVuSansMono-BoldOblique.woff
Normal file
BIN
themes/svrjs/source/fonts/DejaVuSansMono-BoldOblique.woff
Normal file
Binary file not shown.
BIN
themes/svrjs/source/fonts/DejaVuSansMono-Oblique.ttf
Normal file
BIN
themes/svrjs/source/fonts/DejaVuSansMono-Oblique.ttf
Normal file
Binary file not shown.
BIN
themes/svrjs/source/fonts/DejaVuSansMono-Oblique.woff
Normal file
BIN
themes/svrjs/source/fonts/DejaVuSansMono-Oblique.woff
Normal file
Binary file not shown.
BIN
themes/svrjs/source/fonts/DejaVuSansMono.ttf
Normal file
BIN
themes/svrjs/source/fonts/DejaVuSansMono.ttf
Normal file
Binary file not shown.
BIN
themes/svrjs/source/fonts/DejaVuSansMono.woff
Normal file
BIN
themes/svrjs/source/fonts/DejaVuSansMono.woff
Normal file
Binary file not shown.
BIN
themes/svrjs/source/fonts/FreeSans.ttf
Normal file
BIN
themes/svrjs/source/fonts/FreeSans.ttf
Normal file
Binary file not shown.
BIN
themes/svrjs/source/fonts/FreeSans.woff
Normal file
BIN
themes/svrjs/source/fonts/FreeSans.woff
Normal file
Binary file not shown.
BIN
themes/svrjs/source/fonts/FreeSansBold.ttf
Normal file
BIN
themes/svrjs/source/fonts/FreeSansBold.ttf
Normal file
Binary file not shown.
BIN
themes/svrjs/source/fonts/FreeSansBold.woff
Normal file
BIN
themes/svrjs/source/fonts/FreeSansBold.woff
Normal file
Binary file not shown.
BIN
themes/svrjs/source/fonts/FreeSansBoldOblique.ttf
Normal file
BIN
themes/svrjs/source/fonts/FreeSansBoldOblique.ttf
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show more
Reference in a new issue