From bab0628b84f8a538a3d120078174979e8d64d6a3 Mon Sep 17 00:00:00 2001 From: Andrea Date: Sun, 17 Apr 2016 11:51:56 -0700 Subject: [PATCH 1/4] Initial commit of Hexo build & Minos theme. Configured theme. Created homepage, favicon, /_drafts, FAQ. Removed default theme. Updated "Contributing" in README. --- .gitignore | 7 ++++ README.md | 6 +++ _config.yml | 71 ++++++++++++++++++++++++++++++++++ package.json | 19 +++++++++ scaffolds/draft.md | 4 ++ scaffolds/page.md | 4 ++ scaffolds/post.md | 5 +++ source/FAQ/index.md | 14 +++++++ source/_drafts/hello-world.md | 38 ++++++++++++++++++ source/favicon.ico | Bin 0 -> 1150 bytes source/index.md | 13 +++++++ 11 files changed, 181 insertions(+) create mode 100644 .gitignore create mode 100644 _config.yml create mode 100644 package.json create mode 100644 scaffolds/draft.md create mode 100644 scaffolds/page.md create mode 100644 scaffolds/post.md create mode 100644 source/FAQ/index.md create mode 100644 source/_drafts/hello-world.md create mode 100644 source/favicon.ico create mode 100644 source/index.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..063b0e4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +.DS_Store +Thumbs.db +db.json +*.log +node_modules/ +public/ +.deploy*/ \ No newline at end of file diff --git a/README.md b/README.md index 347dbed..fc592e4 100644 --- a/README.md +++ b/README.md @@ -13,3 +13,9 @@ A `group income` ___(n)___ is a fair income sharing mechanism that allows groups - Website: __[groupincome.org](http://groupIncome.org)__ - Twitter: __[@Group_Income](https://twitter.com/Group_Income)__ + +### Contributing + +__This project uses [Hexo](https://hexo.io/) to generate the HTML from the `index.md` files inside `/source`!__ + +So if you want to translate this webpage, or update it, __please focus on `index.md` files.__ diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..9b7f78a --- /dev/null +++ b/_config.yml @@ -0,0 +1,71 @@ +# Hexo Configuration +## Docs: https://hexo.io/docs/configuration.html +## Source: https://github.com/hexojs/hexo/ + +# Site +title: Group Income +subtitle: Voluntary Automated Decentralized Basic Income +description: +author: okTurtles Foundation +language: en +timezone: + +# URL +## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/' +url: http://groupcurrency.org +root: / +permalink: :title/ +permalink_defaults: + +# Directory +source_dir: source +public_dir: public +tag_dir: tags +archive_dir: archives +category_dir: categories +code_dir: downloads/code +i18n_dir: :lang +skip_render: README.md + +# Writing +new_post_name: :title.md # File name of new posts +default_layout: page +titlecase: false # Transform title into titlecase +external_link: true # Open external links in new tab +filename_case: 0 +render_drafts: false +post_asset_folder: false +relative_link: false +future: true +highlight: + enable: true + line_number: true + auto_detect: false + tab_replace: + +# Category & Tag +default_category: uncategorized +category_map: +tag_map: + +# Date / Time format +## Hexo uses Moment.js to parse and display date +## You can customize the date format as defined in +## http://momentjs.com/docs/#/displaying/format/ +date_format: YYYY-MM-DD +time_format: HH:mm:ss + +# Pagination +## Set per_page to 0 to disable pagination +per_page: 10 +pagination_dir: page + +# Extensions +## Plugins: https://hexo.io/plugins/ +## Themes: https://hexo.io/themes/ +theme: minos + +# Deployment +## Docs: https://hexo.io/docs/deployment.html +deploy: + type: diff --git a/package.json b/package.json new file mode 100644 index 0000000..24e8345 --- /dev/null +++ b/package.json @@ -0,0 +1,19 @@ +{ + "name": "hexo-site", + "version": "0.0.0", + "private": true, + "hexo": { + "version": "3.2.0" + }, + "dependencies": { + "hexo": "^3.2.0", + "hexo-generator-archive": "^0.1.4", + "hexo-generator-category": "^0.1.3", + "hexo-generator-index": "^0.2.0", + "hexo-generator-tag": "^0.2.0", + "hexo-renderer-ejs": "^0.2.0", + "hexo-renderer-stylus": "^0.3.1", + "hexo-renderer-marked": "^0.2.10", + "hexo-server": "^0.2.0" + } +} \ No newline at end of file diff --git a/scaffolds/draft.md b/scaffolds/draft.md new file mode 100644 index 0000000..498e95b --- /dev/null +++ b/scaffolds/draft.md @@ -0,0 +1,4 @@ +--- +title: {{ title }} +tags: +--- diff --git a/scaffolds/page.md b/scaffolds/page.md new file mode 100644 index 0000000..f01ba3c --- /dev/null +++ b/scaffolds/page.md @@ -0,0 +1,4 @@ +--- +title: {{ title }} +date: {{ date }} +--- diff --git a/scaffolds/post.md b/scaffolds/post.md new file mode 100644 index 0000000..1f9b9a4 --- /dev/null +++ b/scaffolds/post.md @@ -0,0 +1,5 @@ +--- +title: {{ title }} +date: {{ date }} +tags: +--- diff --git a/source/FAQ/index.md b/source/FAQ/index.md new file mode 100644 index 0000000..8c97d40 --- /dev/null +++ b/source/FAQ/index.md @@ -0,0 +1,14 @@ +--- +title: FAQ +--- + +## What is the minimum size for a group? + +There is no minimum size for a group, so long as the group can meet its basic income. Two individuals could form a group, and even a single individual with sufficient resources could provide their own basic income. + + +## How can I do this today? + +- Establish a group +- Decide on a basic income amount +- Implement Group Income going forward \ No newline at end of file diff --git a/source/_drafts/hello-world.md b/source/_drafts/hello-world.md new file mode 100644 index 0000000..c090297 --- /dev/null +++ b/source/_drafts/hello-world.md @@ -0,0 +1,38 @@ +--- +title: Hello World +--- +Welcome to [Hexo](https://hexo.io/)! This is your very first post. Check [documentation](https://hexo.io/docs/) for more info. If you get any problems when using Hexo, you can find the answer in [troubleshooting](https://hexo.io/docs/troubleshooting.html) or you can ask me on [GitHub](https://github.com/hexojs/hexo/issues). + +## Quick Start + +### Create a new post + +``` bash +$ hexo new "My New Post" +``` + +More info: [Writing](https://hexo.io/docs/writing.html) + +### Run server + +``` bash +$ hexo server +``` + +More info: [Server](https://hexo.io/docs/server.html) + +### Generate static files + +``` bash +$ hexo generate +``` + +More info: [Generating](https://hexo.io/docs/generating.html) + +### Deploy to remote sites + +``` bash +$ hexo deploy +``` + +More info: [Deployment](https://hexo.io/docs/deployment.html) diff --git a/source/favicon.ico b/source/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..eec2d80087fce0a67683e90c9da6ba1ec165c528 GIT binary patch literal 1150 zcmbVMO=uHA6kfrbm*P)*s`c+s4~n4RNm1|OMZ9?MP=tb|wxCrkf(VKQ@ur9+inTVa zR;*Ugh@hg;^j}Mp#+s&0)1);`HUHV2-PzAKGrL8^lP}Ed%=hMd-}|y&dDb@HuDCfr8JgkAJMZoml!}b#Th9s{UZjkZA;<@r=FpSw1v4k zmaX!-n+{`pum{ZM(k~}kyV^<8IvV?oJXf(S;i0&k26N&cnCeHz@|5B`ak!pBX|@xk z@HHUPhT`{|FqQ`>0k)!JIyqcS4x=&tX$5C=E;CpM7QKxm<^3__hd$qn{CF#JV@)y^ zO9#MMR&rXX4$bj^Tw8@1WQR_IWy5kG&DyB)0EwasZx&)G$GpgmU%*e&0BP-wyh48_ zDi0JwS5Thok!xG#%CX}?8GR9vw+%~`4e}ON9=8^Uv1{@vW-@d&@?}RFAaW393V`hR zONLgzDc6j1Fs|0#%p5jMbRv*TV^0T%FJ=+{6nH5i&$|2@qZW=lS9Q~gFYM~#7%Im* z5Xh(G{&K*?p~noluPrcA?DQUJ}P3-d|U3h3mr>_V=h73!kyzqqlCxudy>g=q&nzaa6b4NR`z6g{&iuWRY^e zW8g*9?O`W#(Wm7Fu;RQ>!+F1js&*Z{5etjNNfc~640Eg_?xg`I5g{&2_OV+5th~D? bXrYE`v7R_$Y`t%w>zmRQz2W{3{O|WSrg5FJ literal 0 HcmV?d00001 diff --git a/source/index.md b/source/index.md new file mode 100644 index 0000000..fdd5b63 --- /dev/null +++ b/source/index.md @@ -0,0 +1,13 @@ +# Group Income + +A `Group Income` **_(n)_** is a fair income sharing mechanism that allows groups to provide their members with a **[basic income](https://en.wikipedia.org/wiki/Basic_income)**. + +# Coming Soon! + +Detailed information about Group Income will be posted here soon. + +Can't wait? Here's what you can do in the meantime: + +- Follow **[@Group_Income](https://twitter.com/Group_Income)** (and enable notifications). +- Start or join a discussion on **[the forum](https://forums.okturtles.com/index.php?board=9.0)**. +- Sign up for the [okTurtles newsletter](https://okturtles.com) (scroll to the bottom). From c5f8ec452e849cd1ccac1349d2c3b78d2e83784e Mon Sep 17 00:00:00 2001 From: Andrea Date: Sun, 17 Apr 2016 11:51:56 -0700 Subject: [PATCH 2/4] Initial commit of Hexo w/ Minos theme. Created homepage, favicon, /_drafts, FAQ. Removed default theme, config'd Minos. Updated "Contributing" in README. --- .gitignore | 7 + README.md | 6 + _config.yml | 71 + package.json | 19 + scaffolds/draft.md | 4 + scaffolds/page.md | 4 + scaffolds/post.md | 5 + source/FAQ/index.md | 14 + source/_drafts/hello-world.md | 38 + source/favicon.ico | Bin 0 -> 1150 bytes source/index.md | 13 + themes/minos/Gruntfile.js | 46 + themes/minos/LICENSE | 7 + themes/minos/README.md | 119 + themes/minos/_config.yml | 18 + themes/minos/_config.yml.example | 17 + themes/minos/_source/categories/index.md | 3 + themes/minos/_source/tags/index.md | 3 + themes/minos/languages/en.yml | 6 + themes/minos/languages/ru.yml | 5 + themes/minos/languages/zh-CN.yml | 6 + themes/minos/layout/_partial/after-footer.ejs | 24 + themes/minos/layout/_partial/archive-post.ejs | 12 + themes/minos/layout/_partial/archive.ejs | 82 + .../layout/_partial/article-original.ejs | 53 + themes/minos/layout/_partial/article.ejs | 44 + themes/minos/layout/_partial/footer.ejs | 11 + .../layout/_partial/google-analytics.ejs | 14 + themes/minos/layout/_partial/head.ejs | 35 + themes/minos/layout/_partial/header.ejs | 18 + .../minos/layout/_partial/post/category.ejs | 10 + themes/minos/layout/_partial/post/date.ejs | 3 + themes/minos/layout/_partial/post/gallery.ejs | 11 + themes/minos/layout/_partial/post/nav.ejs | 20 + themes/minos/layout/_partial/post/tag.ejs | 6 + themes/minos/layout/_partial/post/title.ejs | 15 + themes/minos/layout/archive.ejs | 1 + themes/minos/layout/categories.ejs | 10 + themes/minos/layout/category.ejs | 1 + themes/minos/layout/index.ejs | 1 + themes/minos/layout/layout.ejs | 10 + themes/minos/layout/page.ejs | 1 + themes/minos/layout/post.ejs | 1 + themes/minos/layout/tag.ejs | 1 + themes/minos/layout/tags.ejs | 10 + themes/minos/package.json | 12 + themes/minos/scripts/fancybox.js | 24 + themes/minos/source/css/_extend.styl | 57 + themes/minos/source/css/_partial/archive.styl | 74 + themes/minos/source/css/_partial/article.styl | 238 ++ themes/minos/source/css/_partial/comment.styl | 4 + .../source/css/_partial/custom-layout.styl | 36 + .../minos/source/css/_partial/fancybox.styl | 11 + themes/minos/source/css/_partial/footer.styl | 10 + themes/minos/source/css/_partial/header.styl | 95 + .../minos/source/css/_partial/highlight.styl | 210 ++ themes/minos/source/css/_util/grid.styl | 38 + themes/minos/source/css/_util/mixin.styl | 31 + themes/minos/source/css/_variables.styl | 32 + themes/minos/source/css/fonts/FontAwesome.otf | Bin 0 -> 62856 bytes .../source/css/fonts/fontawesome-webfont.eot | Bin 0 -> 38205 bytes .../source/css/fonts/fontawesome-webfont.svg | 414 ++++ .../source/css/fonts/fontawesome-webfont.ttf | Bin 0 -> 80652 bytes .../source/css/fonts/fontawesome-webfont.woff | Bin 0 -> 44432 bytes themes/minos/source/css/images/logo-minos.png | Bin 0 -> 4640 bytes themes/minos/source/css/images/logo.png | Bin 0 -> 7054 bytes themes/minos/source/css/style.styl | 78 + themes/minos/source/fancybox/blank.gif | Bin 0 -> 43 bytes .../source/fancybox/fancybox_loading.gif | Bin 0 -> 6567 bytes .../source/fancybox/fancybox_loading@2x.gif | Bin 0 -> 13984 bytes .../source/fancybox/fancybox_overlay.png | Bin 0 -> 1003 bytes .../minos/source/fancybox/fancybox_sprite.png | Bin 0 -> 1362 bytes .../source/fancybox/fancybox_sprite@2x.png | Bin 0 -> 6553 bytes .../fancybox/helpers/fancybox_buttons.png | Bin 0 -> 1080 bytes .../helpers/jquery.fancybox-buttons.css | 97 + .../helpers/jquery.fancybox-buttons.js | 122 + .../fancybox/helpers/jquery.fancybox-media.js | 199 ++ .../helpers/jquery.fancybox-thumbs.css | 55 + .../helpers/jquery.fancybox-thumbs.js | 165 ++ .../minos/source/fancybox/jquery.fancybox.css | 273 +++ .../minos/source/fancybox/jquery.fancybox.js | 2017 +++++++++++++++++ .../source/fancybox/jquery.fancybox.pack.js | 46 + themes/minos/source/js/jquery.min.js | 6 + themes/minos/source/js/script.js | 28 + ...fFF3H6ngCgAlQzPk_vArhqVIZ0nv9q090hN8.woff2 | Bin 0 -> 37564 bytes ...lwLXPq3fNKwVRMCEAvth_LlrfE80CYdSH47w.woff2 | Bin 0 -> 26508 bytes ...pPERmeybVlLQEWBTbgVql8nDJpwnrE27mub0.woff2 | Bin 0 -> 31452 bytes ...VMETgA6YEaoGitxTbgVql8nDJpwnrE27mub0.woff2 | Bin 0 -> 22144 bytes ...a3TeyH6D9oli3ifesZW2xOQ-xsNqO47m55DA.woff2 | Bin 0 -> 35400 bytes ...ODL16N4KLHLX7xSEAvth_LlrfE80CYdSH47w.woff2 | Bin 0 -> 35312 bytes ...T-LFTJ_dQzv7xpCYE0-AqJ3nfInTTiDXDjU4.woff2 | Bin 0 -> 20152 bytes ...T-LFTJ_dQzv7xpDTOQ_MqJVwkKsUn0wKzc2I.woff2 | Bin 0 -> 27232 bytes ...T-LFTJ_dQzv7xpDUj_cnvWIuuBMVgbX098Mw.woff2 | Bin 0 -> 22096 bytes ...T-LFTJ_dQzv7xpI4P5ICox8Kq3LLUNMylGO4.woff2 | Bin 0 -> 31804 bytes ..._TNgaBApZhTgE6CEAvth_LlrfE80CYdSH47w.woff2 | Bin 0 -> 23908 bytes ...iPHGlZhZpY6M7dBTbgVql8nDJpwnrE27mub0.woff2 | Bin 0 -> 23364 bytes themes/minos/source/webfonts/ptserif/main.css | 96 + ...18OlOQN8JLgasD9V_2ngZ8dMf8fLgjYEouxg.woff2 | Bin 0 -> 12364 bytes ...18OlOQN8JLgasDy2Q8seG17bfDXYR_jUsrzg.woff2 | Bin 0 -> 11144 bytes .../source/webfonts/source-code-pro/main.css | 16 + 100 files changed, 5289 insertions(+) create mode 100644 .gitignore create mode 100644 _config.yml create mode 100644 package.json create mode 100644 scaffolds/draft.md create mode 100644 scaffolds/page.md create mode 100644 scaffolds/post.md create mode 100644 source/FAQ/index.md create mode 100644 source/_drafts/hello-world.md create mode 100644 source/favicon.ico create mode 100644 source/index.md create mode 100644 themes/minos/Gruntfile.js create mode 100644 themes/minos/LICENSE create mode 100644 themes/minos/README.md create mode 100644 themes/minos/_config.yml create mode 100644 themes/minos/_config.yml.example create mode 100644 themes/minos/_source/categories/index.md create mode 100644 themes/minos/_source/tags/index.md create mode 100644 themes/minos/languages/en.yml create mode 100644 themes/minos/languages/ru.yml create mode 100644 themes/minos/languages/zh-CN.yml create mode 100644 themes/minos/layout/_partial/after-footer.ejs create mode 100644 themes/minos/layout/_partial/archive-post.ejs create mode 100644 themes/minos/layout/_partial/archive.ejs create mode 100644 themes/minos/layout/_partial/article-original.ejs create mode 100644 themes/minos/layout/_partial/article.ejs create mode 100644 themes/minos/layout/_partial/footer.ejs create mode 100644 themes/minos/layout/_partial/google-analytics.ejs create mode 100644 themes/minos/layout/_partial/head.ejs create mode 100644 themes/minos/layout/_partial/header.ejs create mode 100644 themes/minos/layout/_partial/post/category.ejs create mode 100644 themes/minos/layout/_partial/post/date.ejs create mode 100644 themes/minos/layout/_partial/post/gallery.ejs create mode 100644 themes/minos/layout/_partial/post/nav.ejs create mode 100644 themes/minos/layout/_partial/post/tag.ejs create mode 100644 themes/minos/layout/_partial/post/title.ejs create mode 100644 themes/minos/layout/archive.ejs create mode 100644 themes/minos/layout/categories.ejs create mode 100644 themes/minos/layout/category.ejs create mode 100644 themes/minos/layout/index.ejs create mode 100644 themes/minos/layout/layout.ejs create mode 100644 themes/minos/layout/page.ejs create mode 100644 themes/minos/layout/post.ejs create mode 100644 themes/minos/layout/tag.ejs create mode 100644 themes/minos/layout/tags.ejs create mode 100644 themes/minos/package.json create mode 100644 themes/minos/scripts/fancybox.js create mode 100644 themes/minos/source/css/_extend.styl create mode 100644 themes/minos/source/css/_partial/archive.styl create mode 100644 themes/minos/source/css/_partial/article.styl create mode 100644 themes/minos/source/css/_partial/comment.styl create mode 100644 themes/minos/source/css/_partial/custom-layout.styl create mode 100644 themes/minos/source/css/_partial/fancybox.styl create mode 100644 themes/minos/source/css/_partial/footer.styl create mode 100644 themes/minos/source/css/_partial/header.styl create mode 100644 themes/minos/source/css/_partial/highlight.styl create mode 100644 themes/minos/source/css/_util/grid.styl create mode 100644 themes/minos/source/css/_util/mixin.styl create mode 100644 themes/minos/source/css/_variables.styl create mode 100644 themes/minos/source/css/fonts/FontAwesome.otf create mode 100644 themes/minos/source/css/fonts/fontawesome-webfont.eot create mode 100644 themes/minos/source/css/fonts/fontawesome-webfont.svg create mode 100644 themes/minos/source/css/fonts/fontawesome-webfont.ttf create mode 100644 themes/minos/source/css/fonts/fontawesome-webfont.woff create mode 100644 themes/minos/source/css/images/logo-minos.png create mode 100644 themes/minos/source/css/images/logo.png create mode 100644 themes/minos/source/css/style.styl create mode 100644 themes/minos/source/fancybox/blank.gif create mode 100644 themes/minos/source/fancybox/fancybox_loading.gif create mode 100644 themes/minos/source/fancybox/fancybox_loading@2x.gif create mode 100644 themes/minos/source/fancybox/fancybox_overlay.png create mode 100644 themes/minos/source/fancybox/fancybox_sprite.png create mode 100644 themes/minos/source/fancybox/fancybox_sprite@2x.png create mode 100644 themes/minos/source/fancybox/helpers/fancybox_buttons.png create mode 100644 themes/minos/source/fancybox/helpers/jquery.fancybox-buttons.css create mode 100644 themes/minos/source/fancybox/helpers/jquery.fancybox-buttons.js create mode 100644 themes/minos/source/fancybox/helpers/jquery.fancybox-media.js create mode 100644 themes/minos/source/fancybox/helpers/jquery.fancybox-thumbs.css create mode 100644 themes/minos/source/fancybox/helpers/jquery.fancybox-thumbs.js create mode 100644 themes/minos/source/fancybox/jquery.fancybox.css create mode 100644 themes/minos/source/fancybox/jquery.fancybox.js create mode 100644 themes/minos/source/fancybox/jquery.fancybox.pack.js create mode 100644 themes/minos/source/js/jquery.min.js create mode 100644 themes/minos/source/js/script.js create mode 100644 themes/minos/source/webfonts/ptserif/fonts/03aPdn7fFF3H6ngCgAlQzPk_vArhqVIZ0nv9q090hN8.woff2 create mode 100644 themes/minos/source/webfonts/ptserif/fonts/3Nwg9VzlwLXPq3fNKwVRMCEAvth_LlrfE80CYdSH47w.woff2 create mode 100644 themes/minos/source/webfonts/ptserif/fonts/5hX15RUpPERmeybVlLQEWBTbgVql8nDJpwnrE27mub0.woff2 create mode 100644 themes/minos/source/webfonts/ptserif/fonts/CPRt--GVMETgA6YEaoGitxTbgVql8nDJpwnrE27mub0.woff2 create mode 100644 themes/minos/source/webfonts/ptserif/fonts/I-OtoJZa3TeyH6D9oli3ifesZW2xOQ-xsNqO47m55DA.woff2 create mode 100644 themes/minos/source/webfonts/ptserif/fonts/O_WhD9hODL16N4KLHLX7xSEAvth_LlrfE80CYdSH47w.woff2 create mode 100644 themes/minos/source/webfonts/ptserif/fonts/QABk9IxT-LFTJ_dQzv7xpCYE0-AqJ3nfInTTiDXDjU4.woff2 create mode 100644 themes/minos/source/webfonts/ptserif/fonts/QABk9IxT-LFTJ_dQzv7xpDTOQ_MqJVwkKsUn0wKzc2I.woff2 create mode 100644 themes/minos/source/webfonts/ptserif/fonts/QABk9IxT-LFTJ_dQzv7xpDUj_cnvWIuuBMVgbX098Mw.woff2 create mode 100644 themes/minos/source/webfonts/ptserif/fonts/QABk9IxT-LFTJ_dQzv7xpI4P5ICox8Kq3LLUNMylGO4.woff2 create mode 100644 themes/minos/source/webfonts/ptserif/fonts/b31S45a_TNgaBApZhTgE6CEAvth_LlrfE80CYdSH47w.woff2 create mode 100644 themes/minos/source/webfonts/ptserif/fonts/fU0HAfLiPHGlZhZpY6M7dBTbgVql8nDJpwnrE27mub0.woff2 create mode 100644 themes/minos/source/webfonts/ptserif/main.css create mode 100644 themes/minos/source/webfonts/source-code-pro/fonts/mrl8jkM18OlOQN8JLgasD9V_2ngZ8dMf8fLgjYEouxg.woff2 create mode 100644 themes/minos/source/webfonts/source-code-pro/fonts/mrl8jkM18OlOQN8JLgasDy2Q8seG17bfDXYR_jUsrzg.woff2 create mode 100644 themes/minos/source/webfonts/source-code-pro/main.css diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..063b0e4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +.DS_Store +Thumbs.db +db.json +*.log +node_modules/ +public/ +.deploy*/ \ No newline at end of file diff --git a/README.md b/README.md index 347dbed..fc592e4 100644 --- a/README.md +++ b/README.md @@ -13,3 +13,9 @@ A `group income` ___(n)___ is a fair income sharing mechanism that allows groups - Website: __[groupincome.org](http://groupIncome.org)__ - Twitter: __[@Group_Income](https://twitter.com/Group_Income)__ + +### Contributing + +__This project uses [Hexo](https://hexo.io/) to generate the HTML from the `index.md` files inside `/source`!__ + +So if you want to translate this webpage, or update it, __please focus on `index.md` files.__ diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..9b7f78a --- /dev/null +++ b/_config.yml @@ -0,0 +1,71 @@ +# Hexo Configuration +## Docs: https://hexo.io/docs/configuration.html +## Source: https://github.com/hexojs/hexo/ + +# Site +title: Group Income +subtitle: Voluntary Automated Decentralized Basic Income +description: +author: okTurtles Foundation +language: en +timezone: + +# URL +## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/' +url: http://groupcurrency.org +root: / +permalink: :title/ +permalink_defaults: + +# Directory +source_dir: source +public_dir: public +tag_dir: tags +archive_dir: archives +category_dir: categories +code_dir: downloads/code +i18n_dir: :lang +skip_render: README.md + +# Writing +new_post_name: :title.md # File name of new posts +default_layout: page +titlecase: false # Transform title into titlecase +external_link: true # Open external links in new tab +filename_case: 0 +render_drafts: false +post_asset_folder: false +relative_link: false +future: true +highlight: + enable: true + line_number: true + auto_detect: false + tab_replace: + +# Category & Tag +default_category: uncategorized +category_map: +tag_map: + +# Date / Time format +## Hexo uses Moment.js to parse and display date +## You can customize the date format as defined in +## http://momentjs.com/docs/#/displaying/format/ +date_format: YYYY-MM-DD +time_format: HH:mm:ss + +# Pagination +## Set per_page to 0 to disable pagination +per_page: 10 +pagination_dir: page + +# Extensions +## Plugins: https://hexo.io/plugins/ +## Themes: https://hexo.io/themes/ +theme: minos + +# Deployment +## Docs: https://hexo.io/docs/deployment.html +deploy: + type: diff --git a/package.json b/package.json new file mode 100644 index 0000000..24e8345 --- /dev/null +++ b/package.json @@ -0,0 +1,19 @@ +{ + "name": "hexo-site", + "version": "0.0.0", + "private": true, + "hexo": { + "version": "3.2.0" + }, + "dependencies": { + "hexo": "^3.2.0", + "hexo-generator-archive": "^0.1.4", + "hexo-generator-category": "^0.1.3", + "hexo-generator-index": "^0.2.0", + "hexo-generator-tag": "^0.2.0", + "hexo-renderer-ejs": "^0.2.0", + "hexo-renderer-stylus": "^0.3.1", + "hexo-renderer-marked": "^0.2.10", + "hexo-server": "^0.2.0" + } +} \ No newline at end of file diff --git a/scaffolds/draft.md b/scaffolds/draft.md new file mode 100644 index 0000000..498e95b --- /dev/null +++ b/scaffolds/draft.md @@ -0,0 +1,4 @@ +--- +title: {{ title }} +tags: +--- diff --git a/scaffolds/page.md b/scaffolds/page.md new file mode 100644 index 0000000..f01ba3c --- /dev/null +++ b/scaffolds/page.md @@ -0,0 +1,4 @@ +--- +title: {{ title }} +date: {{ date }} +--- diff --git a/scaffolds/post.md b/scaffolds/post.md new file mode 100644 index 0000000..1f9b9a4 --- /dev/null +++ b/scaffolds/post.md @@ -0,0 +1,5 @@ +--- +title: {{ title }} +date: {{ date }} +tags: +--- diff --git a/source/FAQ/index.md b/source/FAQ/index.md new file mode 100644 index 0000000..8c97d40 --- /dev/null +++ b/source/FAQ/index.md @@ -0,0 +1,14 @@ +--- +title: FAQ +--- + +## What is the minimum size for a group? + +There is no minimum size for a group, so long as the group can meet its basic income. Two individuals could form a group, and even a single individual with sufficient resources could provide their own basic income. + + +## How can I do this today? + +- Establish a group +- Decide on a basic income amount +- Implement Group Income going forward \ No newline at end of file diff --git a/source/_drafts/hello-world.md b/source/_drafts/hello-world.md new file mode 100644 index 0000000..c090297 --- /dev/null +++ b/source/_drafts/hello-world.md @@ -0,0 +1,38 @@ +--- +title: Hello World +--- +Welcome to [Hexo](https://hexo.io/)! This is your very first post. Check [documentation](https://hexo.io/docs/) for more info. If you get any problems when using Hexo, you can find the answer in [troubleshooting](https://hexo.io/docs/troubleshooting.html) or you can ask me on [GitHub](https://github.com/hexojs/hexo/issues). + +## Quick Start + +### Create a new post + +``` bash +$ hexo new "My New Post" +``` + +More info: [Writing](https://hexo.io/docs/writing.html) + +### Run server + +``` bash +$ hexo server +``` + +More info: [Server](https://hexo.io/docs/server.html) + +### Generate static files + +``` bash +$ hexo generate +``` + +More info: [Generating](https://hexo.io/docs/generating.html) + +### Deploy to remote sites + +``` bash +$ hexo deploy +``` + +More info: [Deployment](https://hexo.io/docs/deployment.html) diff --git a/source/favicon.ico b/source/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..eec2d80087fce0a67683e90c9da6ba1ec165c528 GIT binary patch literal 1150 zcmbVMO=uHA6kfrbm*P)*s`c+s4~n4RNm1|OMZ9?MP=tb|wxCrkf(VKQ@ur9+inTVa zR;*Ugh@hg;^j}Mp#+s&0)1);`HUHV2-PzAKGrL8^lP}Ed%=hMd-}|y&dDb@HuDCfr8JgkAJMZoml!}b#Th9s{UZjkZA;<@r=FpSw1v4k zmaX!-n+{`pum{ZM(k~}kyV^<8IvV?oJXf(S;i0&k26N&cnCeHz@|5B`ak!pBX|@xk z@HHUPhT`{|FqQ`>0k)!JIyqcS4x=&tX$5C=E;CpM7QKxm<^3__hd$qn{CF#JV@)y^ zO9#MMR&rXX4$bj^Tw8@1WQR_IWy5kG&DyB)0EwasZx&)G$GpgmU%*e&0BP-wyh48_ zDi0JwS5Thok!xG#%CX}?8GR9vw+%~`4e}ON9=8^Uv1{@vW-@d&@?}RFAaW393V`hR zONLgzDc6j1Fs|0#%p5jMbRv*TV^0T%FJ=+{6nH5i&$|2@qZW=lS9Q~gFYM~#7%Im* z5Xh(G{&K*?p~noluPrcA?DQUJ}P3-d|U3h3mr>_V=h73!kyzqqlCxudy>g=q&nzaa6b4NR`z6g{&iuWRY^e zW8g*9?O`W#(Wm7Fu;RQ>!+F1js&*Z{5etjNNfc~640Eg_?xg`I5g{&2_OV+5th~D? bXrYE`v7R_$Y`t%w>zmRQz2W{3{O|WSrg5FJ literal 0 HcmV?d00001 diff --git a/source/index.md b/source/index.md new file mode 100644 index 0000000..fdd5b63 --- /dev/null +++ b/source/index.md @@ -0,0 +1,13 @@ +# Group Income + +A `Group Income` **_(n)_** is a fair income sharing mechanism that allows groups to provide their members with a **[basic income](https://en.wikipedia.org/wiki/Basic_income)**. + +# Coming Soon! + +Detailed information about Group Income will be posted here soon. + +Can't wait? Here's what you can do in the meantime: + +- Follow **[@Group_Income](https://twitter.com/Group_Income)** (and enable notifications). +- Start or join a discussion on **[the forum](https://forums.okturtles.com/index.php?board=9.0)**. +- Sign up for the [okTurtles newsletter](https://okturtles.com) (scroll to the bottom). diff --git a/themes/minos/Gruntfile.js b/themes/minos/Gruntfile.js new file mode 100644 index 0000000..59fd5df --- /dev/null +++ b/themes/minos/Gruntfile.js @@ -0,0 +1,46 @@ +module.exports = function(grunt){ + grunt.initConfig({ + gitclone: { + fontawesome: { + options: { + repository: 'https://github.com/FortAwesome/Font-Awesome.git', + directory: 'tmp/fontawesome' + }, + }, + fancybox: { + options: { + repository: 'https://github.com/fancyapps/fancyBox.git', + directory: 'tmp/fancybox' + } + } + }, + copy: { + fontawesome: { + expand: true, + cwd: 'tmp/fontawesome/fonts/', + src: ['**'], + dest: 'source/css/fonts/' + }, + fancybox: { + expand: true, + cwd: 'tmp/fancybox/source/', + src: ['**'], + dest: 'source/fancybox/' + } + }, + _clean: { + tmp: ['tmp'], + fontawesome: ['source/css/fonts'], + fancybox: ['source/fancybox'] + } + }); + + require('load-grunt-tasks')(grunt); + + grunt.renameTask('clean', '_clean'); + + grunt.registerTask('fontawesome', ['gitclone:fontawesome', 'copy:fontawesome', '_clean:tmp']); + grunt.registerTask('fancybox', ['gitclone:fancybox', 'copy:fancybox', '_clean:tmp']); + grunt.registerTask('default', ['gitclone', 'copy', '_clean:tmp']); + grunt.registerTask('clean', ['_clean']); +}; \ No newline at end of file diff --git a/themes/minos/LICENSE b/themes/minos/LICENSE new file mode 100644 index 0000000..9ce4d32 --- /dev/null +++ b/themes/minos/LICENSE @@ -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. \ No newline at end of file diff --git a/themes/minos/README.md b/themes/minos/README.md new file mode 100644 index 0000000..ab1d1d5 --- /dev/null +++ b/themes/minos/README.md @@ -0,0 +1,119 @@ +# Minos + +### A simple and retro styled Hexo theme, concentrated more on your ideas. +#### >> [Preview](http://ppoffice.github.io/hexo-theme-minos/) +![Minos - the Hexo theme](http://ppoffice.github.io/hexo-theme-minos/gallery/Minos.jpg "") + +## Installation + +### Install + +``` bash +$ git clone https://github.com/ppoffice/hexo-theme-minos.git themes/minos +``` + +**Minos requires Hexo 3.0 and above.** + +### Enable + +Modify `theme` setting in `_config.yml` to `minos`. + +### Update + +``` bash +cd themes/minos +git pull +``` + +## Configuration + +### Theme configuration example +``` +# Header +menu: + Home: / + Archives: archives + Categories: categories + Tags: tags + About: about + +# Content +excerpt_link: Read More +toc: false +fancybox: true + +# Miscellaneous +google_analytics: +favicon: /favicon.png +``` + +- **excerpt_link** - Cooperate with + + +<% } %> diff --git a/themes/minos/layout/_partial/head.ejs b/themes/minos/layout/_partial/head.ejs new file mode 100644 index 0000000..4d8c42e --- /dev/null +++ b/themes/minos/layout/_partial/head.ejs @@ -0,0 +1,35 @@ + + + + + <% + var title = page.title; + + if (is_archive()){ + title = 'Archives'; + + 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; + } + %> + <% if (title){ %><%= title %> - <% } %><%= config.title %> + + <%- open_graph({twitter_id: theme.twitter, google_plus: theme.google_plus, fb_admins: theme.fb_admins, fb_app_id: theme.fb_app_id}) %> + <% if (theme.rss){ %> + + <% } %> + <% if (theme.favicon){ %> + + <% } %> + + + <%- css('css/style') %> + <%- partial('google-analytics') %> + diff --git a/themes/minos/layout/_partial/header.ejs b/themes/minos/layout/_partial/header.ejs new file mode 100644 index 0000000..a69fd3a --- /dev/null +++ b/themes/minos/layout/_partial/header.ejs @@ -0,0 +1,18 @@ + \ No newline at end of file diff --git a/themes/minos/layout/_partial/post/category.ejs b/themes/minos/layout/_partial/post/category.ejs new file mode 100644 index 0000000..28ac672 --- /dev/null +++ b/themes/minos/layout/_partial/post/category.ejs @@ -0,0 +1,10 @@ +<% if (post.categories && post.categories.length){ %> + +<% } %> \ No newline at end of file diff --git a/themes/minos/layout/_partial/post/date.ejs b/themes/minos/layout/_partial/post/date.ejs new file mode 100644 index 0000000..3f49613 --- /dev/null +++ b/themes/minos/layout/_partial/post/date.ejs @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/themes/minos/layout/_partial/post/gallery.ejs b/themes/minos/layout/_partial/post/gallery.ejs new file mode 100644 index 0000000..886c8ec --- /dev/null +++ b/themes/minos/layout/_partial/post/gallery.ejs @@ -0,0 +1,11 @@ +<% if (post.photos && post.photos.length){ %> +
+
+ <% post.photos.forEach(function(photo, i){ %> + + + + <% }) %> +
+
+<% } %> \ No newline at end of file diff --git a/themes/minos/layout/_partial/post/nav.ejs b/themes/minos/layout/_partial/post/nav.ejs new file mode 100644 index 0000000..cd22037 --- /dev/null +++ b/themes/minos/layout/_partial/post/nav.ejs @@ -0,0 +1,20 @@ +<% if (post.prev || post.next){ %> + +<% } %> \ No newline at end of file diff --git a/themes/minos/layout/_partial/post/tag.ejs b/themes/minos/layout/_partial/post/tag.ejs new file mode 100644 index 0000000..e0f327f --- /dev/null +++ b/themes/minos/layout/_partial/post/tag.ejs @@ -0,0 +1,6 @@ +<% if (post.tags && post.tags.length){ %> + <%- list_tags(post.tags, { + show_count: false, + class: 'article-tag' + }) %> +<% } %> \ No newline at end of file diff --git a/themes/minos/layout/_partial/post/title.ejs b/themes/minos/layout/_partial/post/title.ejs new file mode 100644 index 0000000..69d646f --- /dev/null +++ b/themes/minos/layout/_partial/post/title.ejs @@ -0,0 +1,15 @@ +<% if (post.link){ %> +

+ +

+<% } else if (post.title){ %> + <% if (index){ %> +

+ <%= post.title %> +

+ <% } else { %> +

+ <%= post.title %> +

+ <% } %> +<% } %> \ No newline at end of file diff --git a/themes/minos/layout/archive.ejs b/themes/minos/layout/archive.ejs new file mode 100644 index 0000000..2094fb9 --- /dev/null +++ b/themes/minos/layout/archive.ejs @@ -0,0 +1 @@ +<%- partial('_partial/archive', {type: 'archive', index: true}) %> \ No newline at end of file diff --git a/themes/minos/layout/categories.ejs b/themes/minos/layout/categories.ejs new file mode 100644 index 0000000..119ebb1 --- /dev/null +++ b/themes/minos/layout/categories.ejs @@ -0,0 +1,10 @@ +
+
+ <%= page.title %> +
+
+ <% if(site.categories.length) { %> + <%- list_categories(site.categories) %> + <% } %> +
+
\ No newline at end of file diff --git a/themes/minos/layout/category.ejs b/themes/minos/layout/category.ejs new file mode 100644 index 0000000..8806cc2 --- /dev/null +++ b/themes/minos/layout/category.ejs @@ -0,0 +1 @@ +<%- partial('_partial/archive', {type: 'category', index: true}) %> \ No newline at end of file diff --git a/themes/minos/layout/index.ejs b/themes/minos/layout/index.ejs new file mode 100644 index 0000000..5c86290 --- /dev/null +++ b/themes/minos/layout/index.ejs @@ -0,0 +1 @@ +<%- partial('_partial/archive', {type: '', index: true}) %> \ No newline at end of file diff --git a/themes/minos/layout/layout.ejs b/themes/minos/layout/layout.ejs new file mode 100644 index 0000000..d0957bb --- /dev/null +++ b/themes/minos/layout/layout.ejs @@ -0,0 +1,10 @@ +<%- partial('_partial/head') %> + +
+ <%- partial('_partial/header', null, {cache: !config.relative_link}) %> +
<%- body %>
+ <%- partial('_partial/footer', null, {cache: !config.relative_link}) %> + <%- partial('_partial/after-footer') %> +
+ + \ No newline at end of file diff --git a/themes/minos/layout/page.ejs b/themes/minos/layout/page.ejs new file mode 100644 index 0000000..bea6318 --- /dev/null +++ b/themes/minos/layout/page.ejs @@ -0,0 +1 @@ +<%- partial('_partial/article', {post: page, index: false}) %> \ No newline at end of file diff --git a/themes/minos/layout/post.ejs b/themes/minos/layout/post.ejs new file mode 100644 index 0000000..bea6318 --- /dev/null +++ b/themes/minos/layout/post.ejs @@ -0,0 +1 @@ +<%- partial('_partial/article', {post: page, index: false}) %> \ No newline at end of file diff --git a/themes/minos/layout/tag.ejs b/themes/minos/layout/tag.ejs new file mode 100644 index 0000000..54a50c7 --- /dev/null +++ b/themes/minos/layout/tag.ejs @@ -0,0 +1 @@ +<%- partial('_partial/archive', {type: 'tag', index: true}) %> \ No newline at end of file diff --git a/themes/minos/layout/tags.ejs b/themes/minos/layout/tags.ejs new file mode 100644 index 0000000..5dcbde6 --- /dev/null +++ b/themes/minos/layout/tags.ejs @@ -0,0 +1,10 @@ +
+
+ <%= page.title %> +
+
+ <% if(site.tags.length) { %> + <%- tagcloud({min_font: 14, max_font: 28}) %> + <% } %> +
+
\ No newline at end of file diff --git a/themes/minos/package.json b/themes/minos/package.json new file mode 100644 index 0000000..83edb69 --- /dev/null +++ b/themes/minos/package.json @@ -0,0 +1,12 @@ +{ + "name": "hexo-theme-minos", + "version": "0.0.1", + "private": true, + "devDependencies": { + "grunt": "~0.4.2", + "load-grunt-tasks": "~0.2.0", + "grunt-git": "~0.2.2", + "grunt-contrib-clean": "~0.5.0", + "grunt-contrib-copy": "~0.4.1" + } +} diff --git a/themes/minos/scripts/fancybox.js b/themes/minos/scripts/fancybox.js new file mode 100644 index 0000000..83f1fdc --- /dev/null +++ b/themes/minos/scripts/fancybox.js @@ -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 '' + + '' + title + '' + '' + + (title ? '' + title + '' : ''); +}); \ No newline at end of file diff --git a/themes/minos/source/css/_extend.styl b/themes/minos/source/css/_extend.styl new file mode 100644 index 0000000..fe02f60 --- /dev/null +++ b/themes/minos/source/css/_extend.styl @@ -0,0 +1,57 @@ +$link + color: color-default + text-decoration: none + border-bottom: 1px dotted transparent + &:hover + border-bottom-color: black + +$link-highlight + @extends $link + border-bottom: 1px dotted black + +$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 \ No newline at end of file diff --git a/themes/minos/source/css/_partial/archive.styl b/themes/minos/source/css/_partial/archive.styl new file mode 100644 index 0000000..d2ef86a --- /dev/null +++ b/themes/minos/source/css/_partial/archive.styl @@ -0,0 +1,74 @@ +.archives-wrap + margin: block-margin 0 + +.archives + clearfix() + +.archive-year-wrap, +.archive-category-wrap, +.archive-tag-wrap + font-size: 1.4em + margin-bottom: 1em + a + @extend $link + +// .archive-year + +.archives + margin-left: 5px + border-left: 1px solid color-border + +// .archive-article + +.archive-article-inner + padding: 10px 10px 10px 12px + margin: 15px 0 15px -2px + border-left: 3px solid transparent + &:hover + border-left-color: black + +.archive-article-title + @extend $link + +.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 + overflow: hidden + a, span + width: 36px + height: 36px + margin: 0 5px + line-height: 36px + text-align: center + a.prev, + a.next + margin: 0 + width: auto + a + @extends $link + .prev + float: left + .next + float: right + .page-number + display: inline-block + @media mq-mobile + display: none + .current + color: #fff + border-radius: 18px + background-color: black + .space + color: color-border \ No newline at end of file diff --git a/themes/minos/source/css/_partial/article.styl b/themes/minos/source/css/_partial/article.styl new file mode 100644 index 0000000..99a45ce --- /dev/null +++ b/themes/minos/source/css/_partial/article.styl @@ -0,0 +1,238 @@ +.article + margin: block-margin 0 + border-bottom: 1px solid color-border + +.article-inner + margin-bottom: 15px + overflow: hidden + +.article-meta + clearfix() + a + @extend $link + color: color-grey + +.article-date + float: left + +.article-category + float: left + margin-left: 8px + color: color-grey + &:before + content: "\2022" + span + margin-left: 8px + +.article-category-link + margin-left: 8px + +.article-comment-link-wrap + float: left + margin-left: 8px + color: color-grey + &:before + content: "\2022" + +.article-comment-link + margin-left: 8px + +.article-header + margin-bottom: 10px + +.article-title + font-size: 2em + font-weight: 700 + line-height: line-height-title +a.article-title + @extend $link + +.article-entry + @extend $base-style + clearfix() + color: color-default + padding: 0 + p, table + line-height: line-height + margin: line-height 0 + h1, h2, h3, h4, h5, h6 + font-weight: 600 + line-height: 1.4em + margin: line-height-title 0 + a + @extend $link-highlight + 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 + th + font-weight: 600 + border-bottom: 3px solid color-border + padding-bottom: 0.5em + td + border-bottom: 1px solid color-border + padding: 10px 0 + blockquote + font-family: font-default + font-size: 1.4em + 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 + @extend $link + color: color-grey + border-bottom-color: color-grey + +.article-footer + clearfix() + font-size: 0.85em + padding: line-height 0 + line-height: line-height + margin: 0 + a + color: color-grey + text-decoration: none + &:hover + color: color-default + +.article-tag-list-item + float: left + margin-right: 10px + +.article-tag-list-link + &:before + content: "#" + +#article-nav + clearfix() + position: relative + margin: 20px 0 + +.article-nav-link-wrap + text-decoration: none + text-shadow: 0 1px #fff + color: color-grey + box-sizing: border-box + text-align: center + display: block + &:hover + color: color-default + @media mq-normal + width: 50% + margin-top: 0 + margin-top: block-margin + +#article-nav-newer + float: left + text-align: left + +#article-nav-older + float: right + text-align: right + +.article-nav-caption + text-transform: uppercase + letter-spacing: 2px + color: color-border + line-height: 1em + font-weight: 600 + #article-nav-newer & + margin-right: -2px + +.article-nav-title + font-size: 0.85em + line-height: line-height + margin-top: 0.5em + +.article-gallery + background: #000 + position: relative + +.article-gallery-photos + position: relative + overflow: hidden + +.article-gallery-img + display: none + max-width: 100% + &:first-child + display: block + &.loaded + position: absolute + display: block + img + display: block + max-width: 100% + margin: 0 auto + +.article-toc + display: none + position: fixed + left: 50% + top: 110px + font-size: 0.9em + width: 260px + margin-left: 400px + padding-left: 20px + overflow-y: auto + line-height: line-height + max-height: 32 * 0.9 * line-height + h3 + font-weight: bold + margin-left: 20px + .toc-item + list-style: none + margin-left: 20px + a + color: black + text-decoration: none + @media mq-large + display: block \ No newline at end of file diff --git a/themes/minos/source/css/_partial/comment.styl b/themes/minos/source/css/_partial/comment.styl new file mode 100644 index 0000000..1fbdd76 --- /dev/null +++ b/themes/minos/source/css/_partial/comment.styl @@ -0,0 +1,4 @@ +#comments + margin: block-margin 0 + a + @extend $link \ No newline at end of file diff --git a/themes/minos/source/css/_partial/custom-layout.styl b/themes/minos/source/css/_partial/custom-layout.styl new file mode 100644 index 0000000..ec3d1d8 --- /dev/null +++ b/themes/minos/source/css/_partial/custom-layout.styl @@ -0,0 +1,36 @@ +.layout-wrap + margin: block-margin 0 + +.layout-title + font-size: 1.4em + margin-bottom: 1em + +.layout-wrap-inner + .category-list, + .category-list-child + clearfix() + line-height: 1.8em + .category-list + a + @extends $link + .category-list-child + margin-left: 24px + li + &:before + content: '>' + float: left + padding: 0 16px 0 0 + .category-list-count + margin-left: 8px + color: color-grey + &:before + content: '(' + &:after + content: ')' + +.tag-cloud + a + @extends $link + margin-right: 8px + &:before + content: '#' \ No newline at end of file diff --git a/themes/minos/source/css/_partial/fancybox.styl b/themes/minos/source/css/_partial/fancybox.styl new file mode 100644 index 0000000..b35097d --- /dev/null +++ b/themes/minos/source/css/_partial/fancybox.styl @@ -0,0 +1,11 @@ +.fancybox-skin + padding: 0 !important + border-radius: 0 + font-family: font-default + .fancybox-title + .child + background: none + font-weight: 400 + font-size: font-size + font-family: font-default + text-shadow: 1px 3px 3px rgba(0,0,0,0.5) \ No newline at end of file diff --git a/themes/minos/source/css/_partial/footer.styl b/themes/minos/source/css/_partial/footer.styl new file mode 100644 index 0000000..da6f16c --- /dev/null +++ b/themes/minos/source/css/_partial/footer.styl @@ -0,0 +1,10 @@ +#footer + padding: 50px 0 + text-align: center + a + @extend $link + font-weight: 600 + +#footer-info + line-height: line-height + font-size: 0.85em \ No newline at end of file diff --git a/themes/minos/source/css/_partial/header.styl b/themes/minos/source/css/_partial/header.styl new file mode 100644 index 0000000..85cc37d --- /dev/null +++ b/themes/minos/source/css/_partial/header.styl @@ -0,0 +1,95 @@ +#header + font-size: 14px + position: relative + border-bottom: 1px solid color-border + &.mobile-on + #main-nav, + #sub-nav + display: block + +#header-outer + height: 100% + position: relative + +#header-inner + position: relative + overflow: hidden + +#main-nav + float: left + margin-left: -15px + +$nav-link + float: left + color: black + text-decoration: none + transition: opacity 0.2s + display: block + padding: 20px 15px + +.main-nav-link + @extend $nav-link + font-weight: 600 + @media mq-mobile + float: none + text-align: center + +#main-nav-toggle + @extend $nav-link + display: none + font-size: 16px + margin-left: -15px + font-family: font-icon + &:before + content: "\f0c9" + @media mq-mobile + display: block + +#logo + float:left + @media mq-mobile + float: none + margin: 0 auto + display: block + background-position: center + +#sub-nav + float: right + +#main-nav, +#sub-nav + @media mq-mobile + display: none + float: none + +#search-form-wrap + top: 15px + padding: 20px 15px + @media mq-mobile + text-align: center + +.search-form + clearfix() + @media mq-mobile + display: inline-block + +.search-form-input + width: 150px + border: none + float: left + font-size: 14px + background: none + color: color-default + outline: none + &::-webkit-search-results-decoration + &::-webkit-search-cancel-button + -webkit-appearance: none + +.search-form-submit + @extend $nav-link + float: left + padding: 0 + font-family: font-icon + border: none + background: none + cursor: pointer \ No newline at end of file diff --git a/themes/minos/source/css/_partial/highlight.styl b/themes/minos/source/css/_partial/highlight.styl new file mode 100644 index 0000000..583b761 --- /dev/null +++ b/themes/minos/source/css/_partial/highlight.styl @@ -0,0 +1,210 @@ +$code-block + margin: 0 + font-size: 14px + background: #23241f + padding: 15px 0 + overflow: auto + color: #fff + line-height: font-size * line-height + +$line-numbers + color: #666 + font-size: 0.85em + +.article-entry + pre, code + font-family: font-mono + code + background: #f2f2f2 + padding: 0 0.3em + pre + @extend $code-block + padding: 20px + code + background: none + text-shadow: none + padding: 0 + .highlight + padding: 0 + .highlight + @extend $code-block + pre + border: none + margin: 0 + padding: 0 20px + table + margin: 0 + width: auto + td + border: none + padding: 0 + figcaption + clearfix() + font-size: 0.85em + color: highlight-comment + line-height: 1em + margin-bottom: 1em + a + float: right + .gutter pre + @extend $line-numbers + text-align: right + .line + height: font-size * line-height + .gist + margin: 0 + 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 + .gist-meta + background: highlight-background + color: highlight-comment + font: 0.85em font-sans + text-shadow: 0 0 + padding: 0 + margin-top: 1em + a + @extend $link + font-weight: normal + &:hover + text-decoration: underline + +pre + // Theme: monokai_sublime + // More theme here: http://softwaremaniacs.org/media/soft/highlight/test.html.hljs, + .tag, + .css .rules, + .css .value, + .css .function + .preprocessor, + .pragma + color: #f8f8f2; + + .strongemphasis, + .strong, + .emphasis + color: #a8a8a2; + + .bullet, + .blockquote, + .horizontal_rule, + .number, + .regexp, + .alias .keyword, + .literal, + .hexcolor + color: #ae81ff; + + .tag .value, + .code, + .title, + .css .class, + .class .title:last-child + color: #a6e22e; + + .link_url + font-size: 80%; + + .strong, + .strongemphasis + font-weight: bold; + + .emphasis, + .strongemphasis, + .class .title:last-child + font-style: italic; + + .keyword, + .function, + .change, + .winutils, + .flow, + .nginx .title, + .tex .special, + .header, + .attribute, + .symbol, + .symbol .string, + .tag .title, + .value, + .alias .keyword:first-child, + .css .tag, + .css .unit, + .css .important + color: #f92672; + + .function .keyword, + .class .keyword:first-child, + .constant, + .css .attribute + color: #66d9ef; + + .variable, + .params, + .class .title + color: #f8f8f2; + + .string, + .css .id, + .subst, + .type, + .ruby .class .parent, + .built_in, + .django .template_tag, + .django .variable, + .smalltalk .class, + .django .filter .argument, + .smalltalk .localvars, + .smalltalk .array, + .attr_selector, + .pseudo, + .addition, + .stream, + .envvar, + .apache .tag, + .apache .cbracket, + .tex .command, + .prompt, + .link_label, + .link_url + color: #e6db74; + + .comment, + .javadoc, + .annotation, + .decorator, + .template_comment, + .pi, + .doctype, + .deletion, + .shebang, + .apache .sqbracket, + .tex .formula + color: #75715e; + + .coffeescript .javascript, + .javascript .xml, + .tex .formula, + .xml .javascript, + .xml .vbscript, + .xml .css, + .xml .cdata, + .xml .php, + .php .xml + opacity: 0.5; diff --git a/themes/minos/source/css/_util/grid.styl b/themes/minos/source/css/_util/grid.styl new file mode 100644 index 0000000..2a14dd2 --- /dev/null +++ b/themes/minos/source/css/_util/grid.styl @@ -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)) \ No newline at end of file diff --git a/themes/minos/source/css/_util/mixin.styl b/themes/minos/source/css/_util/mixin.styl new file mode 100644 index 0000000..b56f037 --- /dev/null +++ b/themes/minos/source/css/_util/mixin.styl @@ -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 diff --git a/themes/minos/source/css/_variables.styl b/themes/minos/source/css/_variables.styl new file mode 100644 index 0000000..321e8b6 --- /dev/null +++ b/themes/minos/source/css/_variables.styl @@ -0,0 +1,32 @@ +// Config +support-for-ie = false +vendor-prefixes = webkit moz ms official + +// Colors +color-default = #111 +color-grey = #939393 +color-border = #ddd +color-background = white + +// Fonts +font-default = 'PT Serif', 'STZhongsong', '华文中宋', 'Microsoft Yahei', serif +font-mono = "Source Code Pro", Consolas, Monaco, Menlo, Consolas, monospace, '华文中宋' +font-icon = FontAwesome +font-icon-path = "fonts/fontawesome-webfont" +font-icon-version = "4.0.3" +font-size = 16px +line-height = 1.4em +line-height-title = 1em + +// Header +logo-size = 40px +subtitle-size = 16px + +// Layout +block-margin = 50px +mobile-nav-width = 280px + +// Media queries +mq-large = "screen and (min-width: 1400px)" +mq-normal = "screen and (min-width: 840px)" +mq-mobile = "screen and (max-width: 839px)" \ No newline at end of file diff --git a/themes/minos/source/css/fonts/FontAwesome.otf b/themes/minos/source/css/fonts/FontAwesome.otf new file mode 100644 index 0000000000000000000000000000000000000000..8b0f54e47e1d356dcf1496942a50e228e0f1ee14 GIT binary patch literal 62856 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