├── .DS_Store ├── .gitignore ├── 404.jade ├── README.md ├── about.jade ├── archive.jade ├── base.jade ├── index.jade ├── post.jade ├── sidebar.jade ├── static ├── .DS_Store ├── basic.js ├── jquery.js └── style.scss └── tags.jade /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zoomyale/bitcron-theme/a71bf8122b06e8ab6081e4211425fe45b5692400/.DS_Store -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | -------------------------------------------------------------------------------- /404.jade: -------------------------------------------------------------------------------- 1 | extends base.jade 2 | 3 | block content 4 | .content 5 | .four_o_four 6 | h2= '404' 7 | p= '没找到网页?地址变了吧 ×_×
「归档」里翻翻,或者看看下面这些最新的文章吧。' 8 | span= '-------' 9 | 10 | 11 | .list_with_title 12 | posts = get_data(type='post',limit=5, sort='desc') 13 | .listing: for post in posts: .listing-item 14 | .listing_post 15 | a(href=post.url, title=post.title)= post.title 16 | div.post_date: span.date= post.date("%m-%d") 17 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # bitcron-theme 2 | 自制的 bitcron 博客主题,博客地址 https://zoomyale.bitcron.com/ 3 | -------------------------------------------------------------------------------- /about.jade: -------------------------------------------------------------------------------- 1 | extends base.jade 2 | 3 | block content 4 | .content: .about 5 | 6 | h2='About Me' 7 | p='一个工具癖、伪 Geek 和成长中的产品汪。' 8 | p='相信学习和分享能创造价值。' 9 | 10 | h2='Things I Made' 11 | p=' 马克计划 ,一个 iOS 个人项目进度管理工具' 12 | p='Details Hunt,收集各类有趣/贴心交互细节的微博' 13 | 14 | h2='Gears I Use' 15 | p=' 手机: iPhone 6s, MI 6' 16 | p=' 平板: iPad Pro 9.7’, Kindle Voyage' 17 | p=' 耳机: Sony 1ABT, Bose QC30, Creative Aurvana Air, AirPods' 18 | p=' 音箱: Sony CAS-1' 19 | p=' 输入: Apple Pencil, Logitech MX Master, Magic Trackpad 2' 20 | p=' 键盘: Filco Minila Air, MI MK01, Smart Keyboard, HHKB BT' 21 | p=' 电脑: Macbook Pro 13’ Mid 2014' 22 | p=' 主机: Nintendo Switch' 23 | p=' 相机: FujiFilm X100T, Rollei 35S, Nikon FE2' 24 | 25 | h2='Blog I Wrote' 26 | p='本博会定期产出一些产品笔记、工具推荐、教程等湿货博文。' 27 | p='欢迎 RSS 订阅。' 28 | -------------------------------------------------------------------------------- /archive.jade: -------------------------------------------------------------------------------- 1 | extends base.jade 2 | 3 | block content 4 | .content: .list_with_title 5 | entries = get_data(type='post',limit=300, sort='desc').group('-date:year') 6 | for year, posts in entries 7 | div.listing_title= year 8 | .listing: for post in posts: .listing-item 9 | .listing_post 10 | a(href=post.url, title=post.title)= post.title 11 | div.post_date: span.date= post.date("%m-%d") 12 | -------------------------------------------------------------------------------- /base.jade: -------------------------------------------------------------------------------- 1 | html 2 | +h.i18n('Home', '首页', 'zh_cn') 3 | +h.i18n('Categories', '分类', 'zh_cn') 4 | +h.i18n('Archive', '归档', 'zh_cn') 5 | +h.i18n('Tags', '标签', 'zh_cn') 6 | +h.i18n('About', '关于', 'zh_cn') 7 | +h.i18n('RSS', '订阅', 'zh_cn') 8 | +h.i18n('Links', '友链', 'zh_cn') 9 | 10 | head(lang="zh") 11 | +h.headers 12 | 13 | block title 14 | title= post.title or site.title 15 | 16 | 17 | 18 | +h.load('markdown') 19 | +h.load('/template/static/style.scss') 20 | +h.load('/template/static/jquery.js') 21 | +h.load('/template/static/basic.js') 22 | 23 | body 24 | 25 | .header 26 | .logo_title 27 | .title.animated.fadeInDown 28 | 29 | img(src='https://i.loli.net/2018/09/30/5bb0f084f34aa.png') 30 | 31 | h1.weaklink(title="也而的博客") 32 | a(href="/") {{ site.title }} 33 | 34 | .navbar.weaklink 35 | .normal_nav 36 | +site.just_nav 37 | .hamberger 38 | i.fa.fa-bars 39 | i.fa.fa-times 40 | .hidden_nav.animated.fadeInDown 41 | +site.just_nav 42 | 43 | .main 44 | .main-inner 45 | block content 46 | 47 | if post.metadata.layout == 'post' 48 | include sidebar 49 | 50 | 51 | .footer 52 | +footer() 53 | .mysocials 54 | +site.socials 55 | 56 | .copyright 57 | span © 2016 - 2019 {{site.title}} 58 | div 59 | a(href="https://bitcron.com/?s=f", target="_blank") Powered by Bitcron 60 | span | 61 | a(href="https://github.com/zoomyale/bitcron-theme", target="_blank") Designed by Yale 62 | 63 | 64 | +h.load('font') 65 | +h.back_to_top('△') 66 | -------------------------------------------------------------------------------- /index.jade: -------------------------------------------------------------------------------- 1 | extends base.jade 2 | 3 | 4 | mixin make_post(post, is_detail=False) 5 | .post 6 | .post_title.weaklink: h2 7 | if is_detail 8 | a= post.title 9 | else 10 | a(href=post.url)= post.title 11 | 12 | if is_detail 13 | post_content = post.content 14 | else 15 | post_content = post.content.opening or post.content.limit(90, keep_images=True) 16 | .post_content.markdown= post_content 17 | 18 | .post_footer 19 | 20 | 21 | 22 | .info.weaklink 23 | i.fa.fa-clock-o 24 | span.date_info= post.date("%Y.%m.%d") 25 | 26 | i.fa.fa-comment-o 27 | span.context= '%s Comments'%(post.comments_count or 0) 28 | a.mobile(href="{{post.url}}#comments")= post.comments_count or 0 29 | 30 | i.fa.fa-eye 31 | span.context= '%s Views'%(post.visits or 0) 32 | span.mobile= post.visits or 0 33 | 34 | if post.tags: 35 | i.fa.fa-bookmark-o 36 | span.tags_info.weaklink: for tag in post.tags 37 | a.tag(href="/tags/{{ tag }}")= tag 38 | 39 | 40 | 41 | block content 42 | .content 43 | if request.path.startswith('/tags/') or request.url_path == '/' 44 | is_detail = False 45 | wrap_class = 'post_list' 46 | else 47 | is_detail = True 48 | wrap_class = 'post_page' 49 | if not post 50 | +response.raise_404() 51 | div(class=wrap_class) 52 | if not is_detail 53 | for post in posts 54 | +make_post(post, is_detail=False) 55 | +h.paginator(pre_label='返回上一页', next_label='更早的文章') 56 | else 57 | +make_post(post, is_detail=True) 58 | +post.comments_as_html() 59 | 60 | -------------------------------------------------------------------------------- /post.jade: -------------------------------------------------------------------------------- 1 | extends base.jade 2 | 3 | 4 | mixin make_post(post, is_detail=False) 5 | .post 6 | 7 | .post_title.sm_margin: h2 8 | if is_detail 9 | a= post.title 10 | else 11 | a(href=post.url)= post.title 12 | 13 | .post_details 14 | 15 | .info 16 | i.fa.fa-clock-o 17 | span.date_info= post.date("%Y.%m.%d") 18 | 19 | i.fa.fa-eye 20 | span.context= '%s Views'%(post.visits or 0) 21 | span.mobile= post.visits or 0 22 | 23 | if post.tags: 24 | i.fa.fa-bookmark-o 25 | span.tags_info.weaklink: for tag in post.tags 26 | a.tag(href="/tags/{{ tag }}")= tag 27 | 28 | 29 | 30 | 31 | if is_detail 32 | post_content = post.content 33 | else 34 | post_content = post.content.opening or post.content.limit(90, keep_images=True) 35 | .post_content.markdown= post_content 36 | 37 | 38 | 39 | block content 40 | .content 41 | if request.path.startswith('/tags/') or request.url_path == '/' 42 | is_detail = False 43 | wrap_class = 'post_list' 44 | else 45 | is_detail = True 46 | wrap_class = 'post_page' 47 | if not post 48 | +response.raise_404() 49 | div(class=wrap_class) 50 | if not is_detail 51 | for post in posts 52 | +make_post(post, is_detail=False) 53 | +h.paginator(pre_label='返回上一页', next_label='更早的文章') 54 | else 55 | +make_post(post, is_detail=True) 56 | +post.comments_as_html() 57 | -------------------------------------------------------------------------------- /sidebar.jade: -------------------------------------------------------------------------------- 1 | //- aside#sidebar.sidebar 2 | //- if post.metadata.autotoc 3 | //- section.post-toc-wrap.motion-element.sidebar-panel.sidebar-panel-active 4 | //- .post-toc 5 | //- if post.toc 6 | //- toc = post.toc 7 | //- toc = toc.replace('', '') 9 | //- toc = toc.replace('
  • ', '