294 Commits

Author SHA1 Message Date
panr
fdd39516c3 Add COMMUNITY-FEATURES.md 2020-08-09 23:51:04 +02:00
panr
b0e10e1dca Update README 2020-08-09 23:49:38 +02:00
Radek Kozieł
e475eb88ef Update README.md 2020-08-09 23:49:38 +02:00
Radek Kozieł
d644337551 Update README.md 2020-08-09 23:49:38 +02:00
panr
c12cc903bd Update README. 2020-08-09 23:49:38 +02:00
panr
9c6d80f31f Update README. 2020-08-09 23:49:38 +02:00
panr
0759309c59 Webpack -> Hugo Pipes 2020-08-09 23:49:38 +02:00
Radek Kozieł
73373847d8 Merge pull request #169 from classx/patch-1
Update USERS.md
2020-08-09 00:22:36 +02:00
Radek Kozieł
a4a96bea35 Merge branch 'master' into patch-1 2020-08-09 00:22:26 +02:00
Radek Kozieł
33966cdf64 Merge pull request #168 from wbogocki/patch-1
Update USERS.md
2020-08-09 00:21:58 +02:00
Radek Kozieł
6eca4d4826 Merge branch 'master' into patch-1 2020-08-09 00:21:45 +02:00
Radek Kozieł
2d26fb1cf0 Merge pull request #167 from cindrmon/patch-2
Update USERS.md
2020-08-09 00:21:16 +02:00
Radek Kozieł
c80302a67d Merge pull request #170 from panr/dependabot/npm_and_yarn/elliptic-6.5.3
Bump elliptic from 6.5.2 to 6.5.3
2020-07-30 16:59:00 +02:00
dependabot[bot]
087d77a0e6 Bump elliptic from 6.5.2 to 6.5.3
Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.2 to 6.5.3.
- [Release notes](https://github.com/indutny/elliptic/releases)
- [Commits](https://github.com/indutny/elliptic/compare/v6.5.2...v6.5.3)

Signed-off-by: dependabot[bot] <support@github.com>
2020-07-30 13:54:06 +00:00
classx
de6feb37b8 Update USERS.md 2020-07-30 13:34:38 +03:00
Wojciech Bogócki
8404f40c2c Update USERS.md 2020-07-29 07:06:04 +08:00
Dominic F
1703c16b7f Update USERS.md 2020-07-27 11:41:51 +08:00
Radek Kozieł
6404a48fe3 Merge pull request #161 from panr/dependabot/npm_and_yarn/lodash-4.17.19
Bump lodash from 4.17.15 to 4.17.19
2020-07-19 17:45:47 +02:00
dependabot[bot]
c5e838481d Bump lodash from 4.17.15 to 4.17.19
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19)

Signed-off-by: dependabot[bot] <support@github.com>
2020-07-16 21:32:29 +00:00
Radek Kozieł
bc29541514 Merge pull request #160 from RaZnAr0k/patch-1
Update USERS.md
2020-07-10 17:40:55 +02:00
RaZnAr0k
a020860014 Update USERS.md 2020-07-10 15:54:32 +08:00
panr
5a0af3384d Fix accessibility issues and re-format templates 2020-06-18 00:40:31 +02:00
panr
04d9175af8 Update styling 2020-06-18 00:21:19 +02:00
Radek Kozieł
d450f681f0 Update README.md 2020-06-17 16:55:32 +02:00
panr
0925abe5d8 Add terms.html template.
Add index.html template.
Fix list.html template.
2020-06-17 16:52:06 +02:00
Radek Kozieł
b19e56a9d8 Merge pull request #150 from FizzyGalacticus/color-per-page
Add color-per-page support
2020-06-17 16:20:06 +02:00
Radek Kozieł
ebbeedc014 Update README.md 2020-06-13 15:56:57 +02:00
panr
9cbc71f5c3 Update collapsable code shortcode with isCollapsed prop 2020-06-13 09:51:22 +02:00
panr
cf59a36030 Add a collapsable code shortcode 2020-06-10 00:16:28 +02:00
Dustin L. Dodson
e7fd995590 Add color-per-page support, addresses #20 2020-05-30 17:23:49 -07:00
panr
0a9b08f405 Fix styling for the index content 2020-05-29 00:50:00 +02:00
Radek Kozieł
3ade628cfc Merge pull request #104 from nuno-silva/index
[WIP] Feature request: display index page content
2020-05-29 00:36:43 +02:00
panr
8ace31592e Fix conflicts 2020-05-29 00:25:49 +02:00
panr
7c77a416df Update 404 page 2020-05-29 00:22:42 +02:00
panr
abab5c6dcd Update list styling 2020-05-29 00:22:42 +02:00
Radek Kozieł
e2bb4583b1 Update USERS.md 2020-05-29 00:22:15 +02:00
elraro
2d0de8e812 Update USERS.md 2020-05-29 00:22:15 +02:00
Scott Anderson
72bdbc99ce remove pagnitaiton form sigle pages 2020-05-29 00:21:45 +02:00
Hritik Vijay
3ef14f49b2 Update USERS.md 2020-05-29 00:21:45 +02:00
Harsh Pandey
9271d6ebf9 Made changes which were causing builds to fail
I updated ne to not and now it builds perfectly on zeit and netlify
2020-05-29 00:21:45 +02:00
Joel Knight
bcd630ad2e Hide header and pagination footer when printing
Since the header and pagination footer contain links that help a reader
navigate the site in a browser, they serve little value on a printed
copy.
2020-05-29 00:21:45 +02:00
Joel Knight
ca115e308e Don't truncate content in Firefox print preview 2020-05-29 00:21:45 +02:00
willstocks
4ef42a15b2 Implement multi-layer fallback
Cover image for anything that's not home (with fallback to favicon where cover is not set), and for anything that is home we use the favicon with fallback to the default color block

Co-Authored-By: Radek Kozieł <radoslaw.koziel@gmail.com>
2020-05-29 00:21:45 +02:00
panr
a52bef65ce Fix dependecies 2020-05-29 00:21:45 +02:00
Bernardo Gameiro
583d6c51c3 Update USERS.md 2020-05-29 00:21:44 +02:00
Ben Coleman
0570ab80bb Use description for og:description 2020-05-29 00:21:16 +02:00
Nanda Gopal
71618345a6 Updatr USERS.md 2020-05-29 00:21:16 +02:00
willstocks
a53fe97fa1 Only populate og:image with cover if is set 2020-05-29 00:21:16 +02:00
willstocks
c6a38c4b85 Add authorTwitter to post archetype
For Twitter cards
2020-05-29 00:21:16 +02:00
willstocks
76f28fb7ba Update twitter:creator with cleaner/multiple fallbacks 2020-05-29 00:21:16 +02:00
willstocks
3d067dea1b Only use isset check for twitter:site param
See https://gohugo.io/functions/isset/ - consistent with all other param checks in file
2020-05-29 00:21:16 +02:00
willstocks
8b51d587d8 Separate twitter card params 2020-05-29 00:21:16 +02:00
willstocks
b9cfb8d360 Tweak twitter card tags to cater for new params 2020-05-29 00:21:16 +02:00
willstocks
87d7bf9ca1 Remove erroneous |
Co-Authored-By: Radek Kozieł <radoslaw.koziel@gmail.com>
2020-05-29 00:21:16 +02:00
willstocks
639fd7f5b1 Amend twitter params 2020-05-29 00:21:16 +02:00
willstocks
1dcf383f7d Twitter card + OG markup fixes
Remove Twitter card title, description and image (twitter cards fall back to OG markup for these elements).
Fix og:image url for non-home content
Conditionally show twitter:site tag
2020-05-29 00:21:16 +02:00
willstocks
aaada1ee03 Include Twitter Card parameters 2020-05-29 00:21:16 +02:00
willstocks
f2fd8fbc63 Fix twitter image url for non-home
Co-Authored-By: Radek Kozieł <radoslaw.koziel@gmail.com>
2020-05-29 00:21:16 +02:00
willstocks
1d47e2102a Update USERS.md 2020-05-29 00:21:16 +02:00
willstocks
d8c6eca445 Add owner as a param for Twitter Card (creator) 2020-05-29 00:21:16 +02:00
willstocks
6a6a3ae75c Fix OpenGraph and Twitter meta tags
Title tags could be a little bloated as the subtitle was being appended. This should fall in to the description instead.
Also, if not looking at an individual post, there was no author being defined or site image.
2020-05-29 00:21:16 +02:00
willstocks
d498a48f49 Update head.html 2020-05-29 00:21:16 +02:00
Zhai2333
11074eeb07 [^] upd: Update 404 2020-05-29 00:21:16 +02:00
Zhai2333
1a47dec920 [+] add: 404 Page 2020-05-29 00:21:16 +02:00
Dave Derderian
bb19133255 remove site.params.toctile from if condition 2020-05-29 00:18:15 +02:00
Dave Derderian
460409971b add conditional table of contents 2020-05-29 00:16:13 +02:00
panr
67a5a0c82c Update 404 page 2020-05-29 00:07:58 +02:00
Radek Kozieł
cf990015dd Merge pull request #51 from mochaaP/404-page
Add 404 Page
2020-05-28 23:57:19 +02:00
panr
72840fc527 Update list styling 2020-05-28 20:06:21 +02:00
Radek Kozieł
565186853e Merge pull request #27 from funayman/add-toc
Add conditional table of contents
2020-05-28 18:32:33 +02:00
Radek Kozieł
58ba445c9f Merge pull request #142 from Hritik14/patch-1
Update USERS.md
2020-05-17 23:56:45 +02:00
Radek Kozieł
7c754f2db2 Update USERS.md 2020-05-17 23:56:22 +02:00
Radek Kozieł
d62c409035 Merge pull request #143 from return-to-libc/master
Update USERS.md
2020-05-17 23:55:37 +02:00
elraro
0afe80acc8 Update USERS.md 2020-05-01 02:10:29 +02:00
Alberto
25b1edd1db Merge pull request #1 from panr/master
remove pagnitaiton form sigle pages
2020-05-01 02:00:19 +02:00
Radek Kozieł
ca56210123 Merge pull request #141 from billyogat/single-pages
remove pagination form sigle pages
2020-04-27 18:45:34 +02:00
Scott Anderson
c5ee41ddae remove pagnitaiton form sigle pages 2020-04-27 09:14:14 -04:00
Hritik Vijay
f5ef1950c8 Update USERS.md 2020-04-21 22:33:46 +05:30
Radek Kozieł
e877df5bae Merge pull request #140 from brotherlymite/patch-1
Made changes which were causing builds to fail
2020-04-19 19:46:50 +02:00
Harsh Pandey
1a181e05ae Made changes which were causing builds to fail
I updated ne to not and now it builds perfectly on zeit and netlify
2020-04-19 17:47:49 +05:30
Radek Kozieł
10351a6b9d Merge pull request #136 from knightjoel/issue/135
Don't truncate content in Firefox print preview
2020-04-14 01:47:07 +02:00
Radek Kozieł
0efdbb73f4 Merge pull request #137 from knightjoel/pr/cleaner_print
Hide header and pagination footer when printing
2020-04-14 01:38:39 +02:00
Joel Knight
3a0f200a91 Hide header and pagination footer when printing
Since the header and pagination footer contain links that help a reader
navigate the site in a browser, they serve little value on a printed
copy.
2020-04-05 15:22:18 -06:00
Joel Knight
d56bb5398e Don't truncate content in Firefox print preview 2020-04-05 15:19:05 -06:00
Radek Kozieł
e70a99243e Merge pull request #128 from willstocks/master
Only populate og:image with cover if is set
2020-04-04 17:21:37 +02:00
willstocks
cd5a89ba3a Implement multi-layer fallback
Cover image for anything that's not home (with fallback to favicon where cover is not set), and for anything that is home we use the favicon with fallback to the default color block

Co-Authored-By: Radek Kozieł <radoslaw.koziel@gmail.com>
2020-04-03 10:59:22 +01:00
Radek Kozieł
f8ce76b7de Merge pull request #132 from nebloc/master
Use description for og:description
2020-04-01 19:50:07 +02:00
Radek Kozieł
944b03d983 Merge pull request #131 from Nanda-G/master
Update USERS.md
2020-04-01 19:48:25 +02:00
Radek Kozieł
f8eb2e304f Merge branch 'master' into master 2020-04-01 19:48:17 +02:00
Radek Kozieł
c21569654e Merge pull request #134 from BGameiro2000/patch-1
Update USERS.md
2020-04-01 19:47:39 +02:00
panr
ce71263767 Fix dependecies 2020-04-01 19:47:02 +02:00
Bernardo Gameiro
5f72bf78e9 Update USERS.md 2020-03-31 21:54:35 +01:00
Ben Coleman
9143918f5a Use description for og:description 2020-03-29 16:07:41 +01:00
Nanda Gopal
faf59f6d5d Updatr USERS.md 2020-03-29 16:27:33 +05:30
willstocks
18af67974a Only populate og:image with cover if is set 2020-03-23 08:47:31 +00:00
Radek Kozieł
bd1f2c75d0 Merge pull request #126 from willstocks/master
Tweak OpenGraph and Twitter meta tags
2020-03-20 18:15:30 +01:00
willstocks
801db391a8 Add authorTwitter to post archetype
For Twitter cards
2020-03-20 10:53:10 +00:00
willstocks
9d64a69092 Update twitter:creator with cleaner/multiple fallbacks 2020-03-20 09:21:20 +00:00
willstocks
5ede34df2c Only use isset check for twitter:site param
See https://gohugo.io/functions/isset/ - consistent with all other param checks in file
2020-03-18 11:24:24 +00:00
willstocks
6f5e42002e Separate twitter card params 2020-03-18 11:20:39 +00:00
willstocks
b39a2e93b7 Tweak twitter card tags to cater for new params 2020-03-18 11:20:14 +00:00
willstocks
22098b16d9 Remove erroneous |
Co-Authored-By: Radek Kozieł <radoslaw.koziel@gmail.com>
2020-03-18 11:12:36 +00:00
willstocks
a89e972309 Amend twitter params 2020-03-16 11:07:04 +00:00
willstocks
a6ae1efab1 Twitter card + OG markup fixes
Remove Twitter card title, description and image (twitter cards fall back to OG markup for these elements).
Fix og:image url for non-home content
Conditionally show twitter:site tag
2020-03-16 11:05:35 +00:00
willstocks
1b00e7e317 Include Twitter Card parameters 2020-03-16 11:01:48 +00:00
willstocks
7f0bda3358 Fix twitter image url for non-home
Co-Authored-By: Radek Kozieł <radoslaw.koziel@gmail.com>
2020-03-16 10:52:14 +00:00
horochx
0b0c32c626 Change the style of the last update time 2020-03-11 23:05:58 +08:00
horochx
145a758159 Merge remote-tracking branch 'upstream/master' 2020-03-10 22:26:40 +08:00
willstocks
a3f51f61c7 Update USERS.md 2020-03-10 13:57:17 +00:00
willstocks
6ed6715b5b Add owner as a param for Twitter Card (creator) 2020-03-10 12:28:08 +00:00
willstocks
b226e1dc8c Fix OpenGraph and Twitter meta tags
Title tags could be a little bloated as the subtitle was being appended. This should fall in to the description instead.
Also, if not looking at an individual post, there was no author being defined or site image.
2020-03-10 12:08:33 +00:00
willstocks
6ef1bb1686 Update head.html 2020-03-10 12:03:11 +00:00
Radek Kozieł
0dc364f3e2 Merge pull request #113 from knightjoel/issue/26
Import shortcode to activate PrismJS plugins
2020-02-01 13:23:16 +01:00
Radek Kozieł
0b541b6f54 Merge pull request #124 from superusercode/patch-1
fix spelling error in example site
2020-02-01 13:07:07 +01:00
Code
6c186bd043 fix spelling error in example 2020-01-29 00:33:04 -05:00
Radek Kozieł
8ac2551ee2 Merge pull request #123 from oberbaum/patch-1
Update USERS.md
2020-01-28 08:53:21 +01:00
oberbaum
172708334f Update USERS.md 2020-01-27 23:27:42 +01:00
Joel Knight
a1c203cb17 Apply suggestions from code review
Co-Authored-By: Radek Kozie. <radoslaw.koziel@gmail.com>
2020-01-26 14:53:18 -07:00
Joel Knight
92cc5bcd23 Apply suggestions from code review
Co-Authored-By: Radek Kozieł <radoslaw.koziel@gmail.com>
2020-01-25 21:18:08 -07:00
panr
7c5c62e630 A little fix for anchor appearance 2020-01-24 08:21:30 +01:00
Radek Kozieł
49c8679b6c Merge pull request #120 from sophiabrandt/add-anchor-links
[feature] add anchor icon to heading anchors
2020-01-24 08:18:40 +01:00
Sophia Brandt
ff3aa2316b improve: add fixes/suggestions from panr 2020-01-23 21:04:09 +01:00
Sophia Brandt
e8fdb4e084 Update layouts/_default/single.html
Co-Authored-By: Radek Kozieł <radoslaw.koziel@gmail.com>
2020-01-23 20:56:58 +01:00
Sophia Brandt
2ab90a708e merge latest upstream 2020-01-23 20:50:13 +01:00
panr
0ff712efdb Update yarn.lock 2020-01-23 19:59:56 +01:00
Radek Kozieł
98ab575126 Merge pull request #116 from wooseopkim/feature/google-analytics
Add Google Analytics template
2020-01-23 19:37:43 +01:00
Radek Kozieł
e61ad0ef07 Merge pull request #114 from dseverboven/patch-1
Update USERS.md
2020-01-23 19:36:25 +01:00
Radek Kozieł
4d7a3c2db3 Merge branch 'master' into patch-1 2020-01-23 19:36:10 +01:00
Radek Kozieł
b6a5436f40 Merge pull request #119 from sophiabrandt/patch-1
add new user
2020-01-23 19:33:30 +01:00
Radek Kozieł
4f23e52472 Merge branch 'master' into patch-1 2020-01-23 19:33:00 +01:00
Radek Kozieł
d30e8a50b0 Merge pull request #122 from qbunt/master
Added qbunt.com to USERS.md
2020-01-23 18:56:08 +01:00
Jeremy Bunting
62531797e7 Added qbunt.com to USERS.md
Thanks for the theme, it's been amazing!
2020-01-22 08:58:55 -05:00
panr
20ce063397 Upload compiled style.css after line-numbers changes 2020-01-22 08:46:35 +01:00
panr
2fcbefa09f Fix line numbers alignment 2020-01-21 08:35:11 +01:00
panr
2bb3d3d49b Fix line-numbers and highlight styling 2020-01-20 00:02:26 +01:00
Radek Kozieł
3f6db97f02 Update README.md 2020-01-18 20:13:29 +01:00
Radek Kozieł
c567dd61f9 Fix buymeacoffee buttton in README 2020-01-18 20:13:03 +01:00
Radek Kozieł
c6c3eb8d54 Update README.md 2020-01-18 19:41:49 +01:00
Radek Kozieł
6c467105a2 Add sponsoring option and fix typo 2020-01-18 19:38:49 +01:00
Sophia Brandt
3aeb73a422 add anchor icon to heading anchors 2020-01-17 13:11:41 +01:00
Sophia Brandt
4b05a64b5a add new user
add www.rockyourcode.com
2020-01-17 07:55:23 +01:00
Wooseop Kim
fa95894458 Add Google Analytics template 2020-01-15 22:41:43 +09:00
Dawson Verboven
9e38f9ec99 Update USERS.md
added https://dawsonverboven.com/
2020-01-08 21:39:06 -08:00
Joel Knight
ce97879d6c Import shortcode to activate PrismJS plugins
The shortcode takes named parameters that are relevant to the PrismJS
plugins that Terminal bundles.

- lang: the language contained in the code block
- line: the line number(s) to highlight
- line-numbers: displays line numbers in the margin
- command-line: activates the command-line plugin which modifies the
output to show a command line
- user: the username to display in the prompt (used with the command-line
parameter)
- host: the hostname to display in the prompt (used with the
command-line parameter)
- prompt: override the default prompt (used with the command-line
parameter)
- output: specifies which line(s) contain CLI output (used with the
command-line parameter)

Example:

{{< prismjs lang="bash" line="1,10-13" line-numbers="true"
command-line="true" host="jump1" user="joel" output="2-9" >}}
2020-01-08 21:43:39 -07:00
Radek Kozieł
48233660d8 Merge pull request #111 from turbo/patch-1
Add highlighting to README/config
2020-01-06 16:21:42 +01:00
turbo
d2dc6b7bb9 Add highlighting to README/config 2020-01-06 13:34:17 +01:00
panr
ec262730ac Fix/Change code block styling 2020-01-06 09:31:18 +01:00
panr
7ac0deff87 Add param to set default size for headings 2020-01-05 10:44:58 +01:00
Radek Kozieł
ee93a3dcd5 Merge pull request #106 from andreacaravano/patch-1
Update USERS.md
2019-12-29 18:57:51 +01:00
Andrea
8d2bb3cda7 Update USERS.md 2019-12-22 19:41:07 +01:00
Nuno Silva
10eae069d0 display index page content 2019-12-13 16:32:14 +00:00
Radek Kozieł
2a34760541 Update USERS.md 2019-12-01 09:48:29 +01:00
Radek Kozieł
791799e1d6 Merge pull request #103 from jTanG0506/patch-1
Update USERS.md
2019-12-01 09:47:52 +01:00
Jonathan Tang
f4be21a1c3 Update USERS.md 2019-12-01 00:10:33 +00:00
Radek Kozieł
ec1af25439 Merge pull request #100 from naxxfish/master
Add naxxfish.net to USERS.md
2019-11-10 09:24:13 +01:00
horochx
5786d01c09 build css 2019-11-06 23:02:00 +08:00
horochx
c297ba66fc Change the showLastUpdated field in README.md to the default value 2019-11-06 22:54:24 +08:00
horochx
ddd24c6c98 Merge branch 'master' of https://github.com/panr/hugo-theme-terminal 2019-11-06 22:46:47 +08:00
Chris Roberts
5d4b70d3a7 Add naxxfish.net to USERS.md 2019-11-03 15:56:07 +00:00
Radek Kozieł
2ea0eeeb7a Merge pull request #93 from jpanther/style-fixes
Fix unused blockquote style
2019-11-03 10:06:37 +01:00
Radek Kozieł
fe147db973 Merge pull request #90 from eidoom/patch-1
Update USERS.md
2019-11-03 09:53:54 +01:00
Radek Kozieł
69bf17a9ad Merge branch 'master' into patch-1 2019-11-03 09:53:46 +01:00
Radek Kozieł
b9c70a23ac Merge pull request #95 from schachem/patch-1
Update USERS.md
2019-11-03 09:53:16 +01:00
Radek Kozieł
0d3e1e62ab Merge branch 'master' into patch-1 2019-11-03 09:53:09 +01:00
Radek Kozieł
7b5dfbae03 Merge pull request #98 from kosmonavtika/patch-1
add lunar.computer
2019-11-03 09:52:33 +01:00
kosmonavtika
e687203739 add lunar.computer 2019-10-31 22:47:46 +01:00
schachem
64dea526de Update USERS.md 2019-10-27 22:04:47 +01:00
James Panther
1c40487df6 Remove unused blockquote style 2019-10-25 09:38:15 +11:00
Radek Kozieł
dc93a293fd Merge pull request #92 from panr/dependabot/npm_and_yarn/mixin-deep-1.3.2
Bump mixin-deep from 1.3.1 to 1.3.2
2019-10-23 11:01:50 +02:00
dependabot[bot]
cedfaf6c5c Bump mixin-deep from 1.3.1 to 1.3.2
Bumps [mixin-deep](https://github.com/jonschlinkert/mixin-deep) from 1.3.1 to 1.3.2.
- [Release notes](https://github.com/jonschlinkert/mixin-deep/releases)
- [Commits](https://github.com/jonschlinkert/mixin-deep/compare/1.3.1...1.3.2)

Signed-off-by: dependabot[bot] <support@github.com>
2019-10-23 08:58:23 +00:00
Radek Kozieł
f8fa62605d Merge pull request #91 from stanleynguyen/patch-1
Update USERS.md
2019-10-23 10:57:08 +02:00
Stanley Nguyen
53c70531d5 Update USERS.md 2019-10-23 11:57:24 +08:00
Ryan Moodie
9d8b8d51fa Update USERS.md 2019-10-15 19:18:57 +01:00
horochx
213a39bcad Add last updated display, params.showLastUpdated and update README.md 2019-10-04 22:41:43 +08:00
Radek Kozieł
5f9bb738cd Merge pull request #83 from amine250/patch-1
Update USERS.md
2019-09-24 09:35:09 +02:00
Amine
9a41d82cb8 Update USERS.md
Add zaine.me website
2019-09-16 01:47:48 +02:00
panr
a81cf2dc29 Fix post width 2019-09-10 09:29:14 +02:00
Radek Kozieł
fa71c00418 Merge pull request #82 from kongdivin/fix-page-navigation
Fix page navigation buttons
2019-09-10 09:26:00 +02:00
panr
e40996148a Revert "Fix post list width"
This reverts commit 7652ceaa86.
2019-09-10 09:25:49 +02:00
Radek Kozieł
c3ea6296af Merge pull request #80 from rpartha/rpartha-add-user
Update USERS.md
2019-09-10 09:22:52 +02:00
panr
7652ceaa86 Fix post list width 2019-09-10 09:21:50 +02:00
Divin Kong
2805450761 Fix page navigation buttons
Fixes panr/hugo-theme-terminal#81
2019-09-07 16:44:23 -07:00
Radek Kozieł
5057fd5521 Update theme.toml 2019-08-30 09:07:13 +02:00
Ramaseshan Parthasarathy
99513dfa64 Update USERS.md 2019-08-29 22:55:07 -04:00
Zhai2333
1d9856db28 [^] upd: Update 404 2019-08-28 15:37:08 +08:00
panr
fbcf98ae95 Make the font a little more dense 2019-08-25 10:08:21 +02:00
panr
060587ba38 Fix list.html 2019-08-25 09:38:23 +02:00
Radek Kozieł
8d8e93fa8d Merge pull request #72 from MoritzFago/fix-atribution
Fix attribution if copyright is set by user.
2019-08-24 08:06:18 +02:00
Radek Kozieł
4a4a820997 Merge pull request #73 from eldraco19/patch-1
Update USERS.md
2019-08-24 08:03:18 +02:00
Radek Kozieł
f06332421c Merge pull request #74 from wilsandbrink/master
fixes broken page list
2019-08-14 23:00:51 +02:00
William Sandbrink
3d20322e3a fixes broken page list 2019-08-14 22:08:50 +02:00
Radek Kozieł
06b8259668 Update README.md 2019-08-13 16:41:24 +02:00
Radek Kozieł
2307f19909 Merge pull request #33 from Rinma/add-language-selector
Added option for language selector
2019-08-13 16:40:04 +02:00
Marvin Dalheimer
63b2c69f85 Remove unused css classes 2019-08-13 13:16:18 +02:00
Marvin Dalheimer
28dd0fadf9 Use ul instead of div and BEM naming 2019-08-13 08:44:40 +02:00
Marvin Dalheimer
270a135fca Add body listener for trigger closing language box 2019-08-13 08:44:06 +02:00
Ayush Karn
d2a00d0517 Update USERS.md 2019-08-11 15:20:53 +05:30
Moritz Fago
2bb48d5952 Fix attribution if copyright is set by user. 2019-08-09 01:44:24 +02:00
panr
24e901f460 Add keywords support to single page 2019-08-08 21:56:25 +02:00
Radek Kozieł
9c25182806 Merge pull request #71 from b0wter/master
Fixed broken link to post archtype.
2019-08-03 23:15:16 +02:00
Radek Kozieł
209f36287f Merge pull request #70 from nikodemusk/patch-1
Added my site to the list of Terminal users
2019-08-03 23:14:36 +02:00
Radek Kozieł
05da53db3a Merge pull request #68 from sagarladla/patch-1
Update USERS.md
2019-08-03 23:10:32 +02:00
Radek Kozieł
4739739afc Merge branch 'master' into patch-1 2019-08-03 23:10:24 +02:00
Radek Kozieł
a13e8a1a7e Merge pull request #62 from sunshinekitty/patch-1
Update USERS.md
2019-08-03 23:09:52 +02:00
b0wter
974dec46bb Fixed broken link to post archtype. 2019-07-27 21:23:53 +02:00
Nikodemus Karlsson
c4086a4f14 Added my site to the list of Terminal users 2019-07-25 07:22:09 +02:00
Sagar Ladla
924a8c48a5 Update USERS.md 2019-07-21 03:50:09 +05:30
Radek Kozieł
eb2d4eacff Merge pull request #64 from panr/dependabot/npm_and_yarn/lodash-4.17.14
Bump lodash from 4.17.11 to 4.17.14
2019-07-11 12:31:21 +02:00
Radek Kozieł
f027e3ff0d Merge pull request #65 from panr/dependabot/npm_and_yarn/lodash.template-4.5.0
Bump lodash.template from 4.4.0 to 4.5.0
2019-07-11 12:31:11 +02:00
dependabot[bot]
52c6c4c7a8 Bump lodash.template from 4.4.0 to 4.5.0
Bumps [lodash.template](https://github.com/lodash/lodash) from 4.4.0 to 4.5.0.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.4.0...4.5.0)

Signed-off-by: dependabot[bot] <support@github.com>
2019-07-11 10:13:34 +00:00
dependabot[bot]
35da736903 Bump lodash from 4.17.11 to 4.17.14
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.11 to 4.17.14.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.11...4.17.14)

Signed-off-by: dependabot[bot] <support@github.com>
2019-07-11 10:13:29 +00:00
Radek Kozieł
86bfa30e14 Merge pull request #63 from panr/dependabot/npm_and_yarn/lodash.merge-4.6.2
Bump lodash.merge from 4.6.1 to 4.6.2
2019-07-11 08:32:45 +02:00
dependabot[bot]
056f7665d7 Bump lodash.merge from 4.6.1 to 4.6.2
Bumps [lodash.merge](https://github.com/lodash/lodash) from 4.6.1 to 4.6.2.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2019-07-11 06:32:33 +00:00
Radek Kozieł
6c2ad3a669 Merge pull request #61 from fengsi/patch-1
OCD cleanup
2019-07-08 17:03:58 +02:00
Alex
950e9a63e4 Update USERS.md
add my blog :-)
2019-07-07 15:09:46 -06:00
Si Feng
0514e772ac OCD cleanup 2019-06-27 11:51:56 -07:00
Radek Kozieł
016f54c162 Merge pull request #59 from Gazzini/patch-1
adds johngazzini.com to Users.md
2019-06-25 20:16:51 +02:00
John Gazzini
c2e83bf417 adds johngazzini.com to Users.md 2019-06-22 23:58:05 -05:00
Radek Kozieł
4b147d17d3 Merge pull request #58 from fengsi/patch-1
Update USERS.md
2019-06-20 23:45:03 +02:00
Radek Kozieł
899bc2ab47 Merge branch 'master' into patch-1 2019-06-20 23:44:55 +02:00
Radek Kozieł
eb8cd5216e Merge pull request #57 from ben-on-vms/master
Update USERS.md
2019-06-20 23:43:44 +02:00
Si Feng
e59e0170c3 Update USERS.md 2019-06-20 12:00:01 -07:00
ben-on-vms
85f01b1cc2 Update USERS.md 2019-06-20 19:12:31 +01:00
Radek Kozieł
02238f6e0f Merge pull request #53 from mserajnik/custom-css-link
Only insert custom CSS link if the file exists
2019-06-15 17:00:16 +02:00
Michael Serajnik
79b040a3ec Only insert custom CSS link if the file exists 2019-06-15 15:55:40 +02:00
Radek Kozieł
30410267ec Merge pull request #52 from Zhai2333/date-fix
Fix 0001-01-01 when date is none.
2019-06-14 19:05:06 +02:00
Zhai2333
786243dc1d [*] fix: 0001-01-01 when doesn't provide a date 2019-06-09 17:59:20 +08:00
Zhai2333
fda8cb9d20 [+] add: 404 Page 2019-06-09 17:52:52 +08:00
panr
ae19c84baf Update packages 2019-06-08 12:47:07 +02:00
Zhai2333
83381f44e1 Update Gitignore 2019-06-08 13:57:55 +08:00
Radek Kozieł
5091a93ea2 Merge pull request #35 from Rinma/lang-sensitiv-tags
made tag link language-sensitiv
2019-05-24 09:51:47 +02:00
panr
f7b4d6c934 Fix archetype name #42 2019-05-24 09:43:38 +02:00
panr
64b59a4e59 Fix RSS links #41 2019-05-24 09:36:06 +02:00
Radek Kozieł
2781f35b83 Merge pull request #40 from vaibhav-y/patch-1
Add calloc.net to USERS.md
2019-05-21 20:32:45 +02:00
Radek Kozieł
26c5ebfc20 Merge branch 'master' into patch-1 2019-05-21 20:32:37 +02:00
Radek Kozieł
39407e9dc1 Merge pull request #44 from Pneumaticat/patch-1
Add potatofrom.space to USERS.md
2019-05-21 20:32:07 +02:00
Radek Kozieł
46645d2782 Merge branch 'master' into patch-1 2019-05-21 20:31:58 +02:00
Radek Kozieł
a69547e06e Merge pull request #45 from horochx/patch-1
Update USERS.md
2019-05-21 20:30:36 +02:00
horochx
f1ff5d0c66 Update USERS.md 2019-05-19 14:39:01 +08:00
Kevin Liu
4c9b24ea14 Add potatofrom.space to USERS.md 2019-05-12 11:14:06 -04:00
Vaibhav Yenamandra
57ab52dd84 Add @vaibhav-y to USERS.md 2019-04-29 22:10:52 -04:00
Marvin Dalheimer
bc9b801e5f made tag link language-sensitiv 2019-04-05 08:18:21 +02:00
Radek Kozieł
a28c65d411 Update USERS.md 2019-04-03 00:11:03 +02:00
Radek Kozieł
f901435935 Merge pull request #34 from mike-alex/patch-1
Update USERS.md
2019-04-03 00:10:46 +02:00
Mike alex
108a966b12 Update USERS.md
add my blog with the theme terminal
2019-04-02 00:13:19 -06:00
Marvin Dalheimer
10b545bb86 Added option for language selector
Implemented a language selector submenu that can be turned on or off by a config value.

Resolves: panr/hugo-theme-terminal#31
2019-04-01 21:44:39 +02:00
Radek Kozieł
3f58f9834f Merge pull request #32 from devmaster64/patch-1
Add devmaster64's blog to users.md
2019-04-01 17:48:47 +02:00
devmaster64
c2c43bb34a Add devmaster64's blog to users.md 2019-04-01 20:10:28 +05:30
Radek Kozieł
dbeb0f7c98 Merge branch 'master' into add-toc 2019-03-31 19:42:05 +02:00
panr
bacfb1a95a Remove unnecessary code 2019-03-31 19:38:11 +02:00
Radek Kozieł
6bf52c0f77 Update post.md 2019-03-31 19:31:34 +02:00
Radek Kozieł
bccf419102 Update README.md 2019-03-31 19:30:56 +02:00
panr
e938e972b6 Fix format 2019-03-31 19:28:38 +02:00
panr
13e0079b23 Add post archetype 2019-03-31 19:24:16 +02:00
panr
50e36736c6 Allow to show full content on list 2019-03-31 19:18:43 +02:00
Dave Derderian
034efcb463 remove unnecessary if statement 2019-03-25 13:12:59 +09:00
Dave Derderian
5efec67714 remove site.params.toctile from if condition 2019-03-25 12:00:41 +09:00
Dave Derderian
5987519fd6 add global, local, default TOC 2019-03-25 11:56:59 +09:00
Dave Derderian
3cf9638af1 add conditional table of contents 2019-03-21 08:40:07 +09:00
panr
bca791fe8c Fix menuMore null error 2019-03-17 17:49:06 +01:00
Radek Kozieł
54e5006109 Merge pull request #19 from RPGillespie6/make_favicon_configurable
Make favicon configurable
2019-03-16 18:00:27 +01:00
RPGillespie6
27462e1893 Make favicon configurable
Fix #18
2019-03-13 18:56:57 -04:00
Radek Kozieł
9928ada9ad Update README.md 2019-03-06 01:13:31 +01:00
Radek Kozieł
ba816147f5 Update README.md 2019-03-06 01:03:29 +01:00
Radek Kozieł
e55014bdbc Create USERS.md 2019-03-06 01:02:32 +01:00
Radek Kozieł
b484629dc5 Update README.md 2019-03-06 01:01:50 +01:00
Radek Kozieł
0d246fc9f1 Update README.md 2019-03-06 01:00:08 +01:00
Radek Kozieł
efad1bff26 Merge pull request #16 from kalbasit/hugo-theme-terminal_allow-custom-javascript
render an extended placeholder for head and footer
2019-03-06 00:49:59 +01:00
Wael M. Nasreddine
00296f07b4 rename the partials to extended_head and extended_footer 2019-03-04 14:20:48 -08:00
Wael M. Nasreddine
c375d4ce5d remove the example header and footer 2019-03-04 14:18:30 -08:00
panr
880c995489 Rebuild theme 2019-03-02 01:27:19 +01:00
Radek Kozieł
4eedc6a39a Update config.toml 2019-03-02 01:17:33 +01:00
Radek Kozieł
c8f251ce9c Update README.md 2019-03-02 01:16:46 +01:00
Radek Kozieł
7ad1783021 Merge pull request #1 from newhinton/master
Add ability to center the content via Parameter
2019-03-02 01:13:49 +01:00
Radek Kozieł
70cf7406fd Update README.md 2019-03-02 01:13:27 +01:00
newhinton
8fe7d51b94 Merge branch 'master' into master 2019-02-28 14:57:20 +01:00
Wael M. Nasreddine
4b959d0aa6 partials/footer: render a placeholder custom_footer.html 2019-02-26 00:38:49 -08:00
Wael M. Nasreddine
1cf2b933a3 partials/head: render a placeholder custom_head.html 2019-02-26 00:35:27 -08:00
Felix Nüsse
88ed5a0bef Updated CSS and refined width-logic 2019-02-26 09:30:10 +01:00
Radek Kozieł
487876daf1 Merge pull request #15 from stav/master
Use correct stylesheet name
2019-02-26 00:18:32 +01:00
Steven Almeroth
20b48f398e Use correct stylesheet name 2019-02-25 15:13:28 -05:00
Radek Kozieł
077fade121 Merge pull request #12 from andreas-h/patch-1
Fix typo in comment
2019-02-24 18:02:57 +01:00
Andreas Hilboll
bb7ad5779f Fix typo in comment 2019-02-24 13:53:19 +01:00
Radek Kozieł
7cb7fc284c Update README.md
Co-Authored-By: newhinton <newhinton@users.noreply.github.com>
2019-02-17 11:10:21 +01:00
panr
d005155fa5 Add comment partial 2019-02-15 00:38:45 +01:00
Radek Kozieł
51d1b12820 Merge pull request #7 from sgaduuw/trailingslash
Add a trailing slash to URLs generated for tags
2019-02-14 02:08:56 +01:00
Eelco Wesemann
d4f8fea87c Add a trailing slash to URLs generated for tags 2019-02-13 13:00:20 +01:00
Radek Kozieł
b746766d0e Merge pull request #5 from ffluegel/patch-1
Removed inline style
2019-02-11 10:11:02 +01:00
panr
4e7ac981d2 Fixes 2019-02-09 09:11:56 +01:00
ffluegel
7a5bad13b3 Update style.css 2019-02-09 01:22:16 +01:00
ffluegel
ec98c7bc11 Update header.css 2019-02-09 01:19:37 +01:00
ffluegel
4f399128b2 Removed inline style 2019-02-09 01:07:00 +01:00
Felix Nüsse
db29d33536 updated readme
Signed-off-by: Felix Nüsse <Felix.nuesse@t-online.de>
2019-02-03 16:01:43 +01:00
Felix Nüsse
0d2a41242a added parameter for centered view
Signed-off-by: Felix Nüsse <Felix.nuesse@t-online.de>
2019-02-03 16:00:13 +01:00
65 changed files with 4544 additions and 2499 deletions

91
.gitignore vendored
View File

@@ -1 +1,90 @@
node_modules # Created by https://www.gitignore.io/api/node
# Edit at https://www.gitignore.io/?templates=node
### Node ###
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# TypeScript v1 declaration files
typings/
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
.env
.env.test
# parcel-bundler cache (https://parceljs.org/)
.cache
# next.js build output
.next
# nuxt.js build output
.nuxt
# vuepress build output
.vuepress/dist
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# End of https://www.gitignore.io/api/node

View File

@@ -1,5 +1,11 @@
{ {
"parser": "babylon", "parser": "babel",
"printWidth": 100, "printWidth": 100,
"trailingComma": "all" "trailingComma": "all",
"overrides": [{
"files": ".html",
"options": {
"parser": "html"
}
}]
} }

21
COMMUNITY-FEATURES.md Normal file
View File

@@ -0,0 +1,21 @@
# Community features
<!--
Did a cool thing with the theme and want to share it with rest of the Hello Friend theme users? Jump in!
Please follow the template:
- **NAME_OF_THE_FEATURE** (LINK TO YOUR FORK)
- SHORT DESCRIPTION
- SOMETHING ABOUT YOU (name and who you are / what you do / etc.)
eg:
- **Social media icons** (https://github.com/...)
- This was a big missing feature of the theme. It will help your audience reach you over the internet.
- John, a javascript developer.
-->
- **Social media icons** (https://github.com/...)
- This is the biggest missing feature of the theme. But now it will help your audience reach you over the internet.
- John, a javascript developer.

165
README.md
View File

@@ -4,6 +4,25 @@
### DEMO - https://hugo-terminal.now.sh/ ### DEMO - https://hugo-terminal.now.sh/
<a href="https://www.buymeacoffee.com/panr" target="_blank"><img src="https://res.cloudinary.com/panr/image/upload/v1579374705/buymeacoffee_y6yvov.svg" alt="Buy Me A Coffee" ></a>
---
- [Features](#features)
- [Built-in shortcodes](#built-in-shortcodes)
- [Code highlighting](#code-highlighting)
- [How to start](#how-to-start)
- [How to run your site](#how-to-run-your-site)
- [How to configure](#how-to-configure)
- [Post archetype](#post-archetype)
- [Add-ons](#add-ons)
- [How to (safely) edit the theme](#how-to-edit)
- [Found a bug?](#bug)
- [New cool idea or feature](#feature)
- [Terminal theme user?](#terminal-theme-user)
- [Sponsoring](#sponsoring)
- [Licence](#licence)
## Features ## Features
- **5 duetone themes**, depending on your preferences (orange is default, red, blue, green, pink) - **5 duetone themes**, depending on your preferences (orange is default, red, blue, green, pink)
@@ -15,18 +34,43 @@
- **`image`** (prop required: **`src`**; props optional: **`alt`**, **`position`** (**left** is default | center | right), **`style`**) - **`image`** (prop required: **`src`**; props optional: **`alt`**, **`position`** (**left** is default | center | right), **`style`**)
- eg: `{{< image src="/img/hello.png" alt="Hello Friend" position="center" style="border-radius: 8px;" >}}` - eg: `{{< image src="/img/hello.png" alt="Hello Friend" position="center" style="border-radius: 8px;" >}}`
- **`figure`** (same as `image`, plus few optional props: **`caption`**, **`captionPosition`** (left | **center** is default | right), **`captionStyle`** - **`figure`** (same as `image`, plus few optional props: **`caption`**, **`captionPosition`** (left | **center** is default | right), **`captionStyle`**)
- eg: `{{< figure src="/img/hello.png" alt="Hello Friend" position="center" style="border-radius: 8px;" caption="Hello Friend!" captionPosition="right" captionStyle="color: red;" >}}` - eg: `{{< figure src="/img/hello.png" alt="Hello Friend" position="center" style="border-radius: 8px;" caption="Hello Friend!" captionPosition="right" captionStyle="color: red;" >}}`
- **`code`** (prop required: **`language`**; props optional: **`title`**, **`id`**, **`expand`** (default "△"), **`collapse`** (default "▽"), **`isCollapsed`**)
- eg:
```go
{{< code language="css" title="Really cool snippet" id="1" expand="Show" collapse="Hide" isCollapsed="true" >}}
pre {
background: #1a1a1d;
padding: 20px;
border-radius: 8px;
font-size: 1rem;
overflow: auto;
@media (--phone) {
white-space: pre-wrap;
word-wrap: break-word;
}
code {
background: none !important;
color: #ccc;
padding: 0;
font-size: inherit;
}
}
{{< /code >}}
```
#### Code highlighting #### Code highlighting
A custom syntax highlighting based on PrismJS. All you need to do is to wrap you code like this: A custom syntax highlighting based on PrismJS. All you need to do is to wrap you code like this:
<pre> ````
```html ```html
// your code here // your code here
``` ```
</pre> ````
**Supported languages**: bash/shell, css, clike, javascript, apacheconf, actionscript, applescript, c, csharp, cpp, coffeescript, ruby, csp, css-extras, diff, django, docker, elixir, elm, markup-templating, erlang, fsharp, flow, git, go, graphql, less, handlebars, haskell, http, java, json, kotlin, latex, markdown, makefile, objectivec, ocaml, perl, php, php-extras, r, sql, processing, scss, python, jsx, typescript, toml, reason, textile, rust, sass, stylus, scheme, pug, swift, yaml, haml, twig, tsx, vim, visual-basic, wasm. **Supported languages**: bash/shell, css, clike, javascript, apacheconf, actionscript, applescript, c, csharp, cpp, coffeescript, ruby, csp, css-extras, diff, django, docker, elixir, elm, markup-templating, erlang, fsharp, flow, git, go, graphql, less, handlebars, haskell, http, java, json, kotlin, latex, markdown, makefile, objectivec, ocaml, perl, php, php-extras, r, sql, processing, scss, python, jsx, typescript, toml, reason, textile, rust, sass, stylus, scheme, pug, swift, yaml, haml, twig, tsx, vim, visual-basic, wasm.
@@ -46,33 +90,87 @@ If you don't want to make any radical changes, it's the best option, because you
$ git submodule add https://github.com/panr/hugo-theme-terminal.git themes/terminal $ git submodule add https://github.com/panr/hugo-theme-terminal.git themes/terminal
``` ```
## How to run your site
The theme is using [Hugo Pipes](https://gohugo.io/hugo-pipes/) to handle Javascript and PostCSS files. This setup **requires** following npm packages:
```
@babel/cli @babel/core @babel/preset-env browserslist clipboard cssnano postcss-cli postcss-import postcss-mixins postcss-nested postcss-preset-env postcss-url
```
Before you start, you have to install them (globally or locally).
Then:
```
$ hugo server -t terminal
```
and go to `localhost:1313` in your browser. From now on all the changes you make will go live, so you don't need to refresh your browser every single time.
## How to configure ## How to configure
The theme doesn't require any advanced configuration. Just copy: The theme doesn't require any advanced configuration. Just copy:
``` ```toml
baseurl = "/" baseurl = "/"
languageCode = "en-us" languageCode = "en-us"
theme = "terminal" theme = "terminal"
paginate = 5 paginate = 5
[params] [params]
# dir name of your blog content (default is `content/posts`) # dir name of your main content (default is `content/posts`).
# the list of set content will show up on your index page (baseurl).
contentTypeName = "posts" contentTypeName = "posts"
# ["orange", "blue", "red", "green", "pink"] # ["orange", "blue", "red", "green", "pink"]
themeColor = "orange" themeColor = "orange"
# if you set this to 0, only submenu trigger will be visible # if you set this to 0, only submenu trigger will be visible
showMenuItems = 2 showMenuItems = 2
# show selector to switch language
showLanguageSelector = false
# set theme to full screen width
fullWidthTheme = false
# center theme with default width
centerTheme = false
# set a custom favicon (default is a `themeColor` square)
# favicon = "favicon.ico"
# set post to show the last updated
# If you use git, you can set `enableGitInfo` to `true` and then post will automatically get the last updated
showLastUpdated = false
# Provide a string as a prefix for the last update date. By default, it looks like this: 2020-xx-xx [Updated: 2020-xx-xx] :: Author
# updatedDatePrefix = "Updated"
# set all headings to their default size (depending on browser settings)
# it's set to `true` by default
# oneHeadingSize = false
[params.twitter]
# set Twitter handles for Twitter cards
# see https://developer.twitter.com/en/docs/tweets/optimize-with-cards/guides/getting-started#card-and-content-attribution
# do not include @
creator = ""
site = ""
[languages] [languages]
[languages.en] [languages.en]
languageName = "English"
title = "Terminal" title = "Terminal"
subtitle = "A simple, retro theme for Hugo" subtitle = "A simple, retro theme for Hugo"
owner = ""
keywords = "" keywords = ""
copyright = "" copyright = ""
menuMore = "Show more" menuMore = "Show more"
readMore = "Read more" readMore = "Read more"
readOtherPosts = "Read other posts" readOtherPosts = "Read other posts"
missingContentMessage = "Page not found..."
missingBackButtonLabel = "Back to home page"
[languages.en.params.logo] [languages.en.params.logo]
logoText = "Terminal" logoText = "Terminal"
@@ -93,40 +191,53 @@ to `config.toml` file in your Hugo root directory and change params fields. In c
**NOTE:** Please keep in mind that currently `main menu` doesn't support nesting. **NOTE:** Please keep in mind that currently `main menu` doesn't support nesting.
## How to run your site ## Post archetype
From your Hugo root directory run: See the basic `post` file params supported by the theme — https://github.com/panr/hugo-theme-terminal/blob/master/archetypes/posts.md
``` ## Add-ons
$ hugo server -t terminal
```
and go to `localhost:1313` in your browser. From now on all the changes you make will go live, so you don't need to refresh your browser every single time. - **Comments** — for adding comments to your blog posts please take a look at `layouts/partials/comments.html` https://github.com/panr/hugo-theme-terminal/blob/master/layouts/partials/comments.html.
- **Extended Head** — please take a look at `layouts/partials/extended_head.html` https://github.com/panr/hugo-theme-terminal/blob/master/layouts/partials/extended_head.html
- **Extended Footer** — please take a look at `layouts/partials/extended_footer.html` https://github.com/panr/hugo-theme-terminal/blob/master/layouts/partials/extended_footer.html
## How to edit the theme ## How to (safely) edit the theme <a id="how-to-edit" />
If you have to override some of the styles, **you can do this easily** by adding `static/styles.css` in your root directory and point things you want to change. To change something in the theme, you have to go to `themes/terminal` and modify the files. You can also copy them (like `assets` folder) from the theme to your root directory and modify the files there (thanks to Hugo's lookup https://gohugo.io/templates/lookup-order). This will protect your changes from overriding when you update the theme.
Otherwise, if you really want to edit the theme, you need to install Node dependencies. To do so, go to the theme directory (from your Hugo root directory): ## Found a bug? <a id="bug" />
``` If you spot any bugs, please use [Issue Tracker](https://github.com/panr/hugo-theme-terminal/issues) or create a new [Pull Request](https://github.com/panr/hugo-theme-terminal/pulls) to fix the issue.
$ cd themes/terminal
```
and then run: ## New cool idea or feature? <a id="feature" />
``` The theme is in constant development since 2019 and has got many cool features that helped many of you and made the theme better. But there were also many features that I wasn't sure about because I want to keep the theme as simple as possible.
$ npm install
$ npm i yarn
$ yarn
```
## How to contribute So, let's say you have an idea of how to extend the theme. That's cool and you're welcome to do that, just follow these steps:
If you spot any bugs, please use [Issue Tracker](https://github.com/panr/hugo-theme-terminal/issues) or if you want to add a new feature directly please create a new [Pull Request](https://github.com/panr/hugo-theme-terminal/pulls). - fork the theme
- implement the feature
- write an instruction how to use the feature
- give a working example of the implementation for other users
- add info about your work to `COMMUNITY-FEATURES.md`
- make a PR with edited `COMMUNITY-FEATURES.md`
## Licence This will help keeping the theme close to its roots, and also allow anyone who wishes to improve it and match their needs, to do whatever they want.
Copyright © 2019 Radosław Kozieł ([@panr](https://twitter.com/panr)) Sounds OK? Cool, let's rock! 🤘
## Terminal theme user?
I'd be happy to know more about you and what you are doing. If you want to share it, please make a contribution and [add your site to the list](https://github.com/panr/hugo-theme-terminal/blob/master/USERS.md)! 🤗
## Sponsoring
If you like my work and want to support the development of the project, now you can! Just:
<a href="https://www.buymeacoffee.com/panr" target="_blank"><img src="https://res.cloudinary.com/panr/image/upload/v1579374705/buymeacoffee_y6yvov.svg" alt="Buy Me A Coffee" ></a>
## License
Copyright © 2019-2020 Radosław Kozieł ([@panr](https://twitter.com/panr))
The theme is released under the MIT License. Check the [original theme license](https://github.com/panr/hugo-theme-terminal/blob/master/LICENSE.md) for additional licensing information. The theme is released under the MIT License. Check the [original theme license](https://github.com/panr/hugo-theme-terminal/blob/master/LICENSE.md) for additional licensing information.

43
USERS.md Normal file
View File

@@ -0,0 +1,43 @@
# Meet the users of Terminal theme!
- https://xicode.se **magistern** (Teacher)
- https://devmaster64.com **devmaster64** (Software Developer)
- https://mickie1.gitlab.io/blog/ **mickie** (Engineer)
- https://calloc.net **Vaibhav Yenamandra** (Software Engineer)
- https://potatofrom.space **Kevin Liu** (Software)
- https://horochx.org **horochx** (Software Developer)
- https://feng.si **Si Feng** (Software Engineer)
- https://ben-on-vms.com **Benedikt Frenzel** (Technical Support Engineer)
- https://johngazzini.com **John Gazzini** (Software Engineer)
- https://geekx.tech/ **Sagar Ladla** (Student Developer & Cyber Security Specialist)
- https://tears.io/ **Alex** (SRE)
- https://ayushkarn.me/ **Ayush Karn** (Student Developer)
- https://ssgram.dev **Ramaseshan Parthasarathy** (Software Developer)
- https://zaine.me **Amine Zaine** (Cloud Engineer)
- https://notes.dmaitre.phyip3.dur.ac.uk/computing-club/ **Ryan Moodie** (Physics PhD student)
- https://thecodecousins.com **Stanley Nguyen** (Software Engineer) & **Hoang Do** (Software & IoT Engineer)
- https://schacherbauer.dev **Markus Schacherbauer** (Student Developer)
- https://rinma.dev **Marvin Dalheimer** (Software Developer)
- https://lunar.computer **Lunar Computer** (DevOps Engineer)
- https://naxxfish.net **Chris Roberts** (Broadcast Systems Engineer)
- https://security.jtang.dev **Jonathan Tang** (Student & Software Engineer)
- https://andreacaravano.net **Andrea Caravano** (Student)
- https://dawsonverboven.com/ **Dawson Verboven** (Student & Software Developer)
- https://www.rockyourcode.com **Sophia Brandt** (tax officer and hobby coder)
- https://qbunt.com **Jeremy Bunting** (Software Engineer)
- https://smeik.org **Smeik** (Embedded Developer)
- https://code.willstocks.co.uk **Will Stocks** (Blogger & Developer)
- https://blog.vnandag.me **Nanda Gopal** (Student Developer)
- https://m47r1x.github.io **Neo** (Citizen of Zion)
- https://bgameiro.me/ **Bernardo Gameiro** (Engineer Physicist student)
- https://return-to-libc.com/ **elraro** (Cyber Security Specialist)
- https://waterloos.niflheimr.blue/ **niflheimr1011** (Aspiring Software Engineer)
- https://monocle.rpod.club/ **classx** (DevOps Engineer)
- https://wjdevschool.com/ **Wojciech Bogócki** (Making Things & Teaching / W&J Dev School)
- https://waterloos.niflheimr.blue/ **cindrmon** (Aspiring Software Engineer and Student)
<!--
TEMPLATE:
- https://radoslawkoziel.pl **Radek Kozieł** (Software Designer and Developer)
-->

11
archetypes/posts.md Normal file
View File

@@ -0,0 +1,11 @@
+++
title = ""
date = ""
author = ""
authorTwitter = "" #do not include @
cover = ""
tags = ["", ""]
keywords = ["", ""]
description = ""
showFullContent = false
+++

84
assets/css/code.css Normal file
View File

@@ -0,0 +1,84 @@
.collapsable-code {
--border-color: color-mod(var(--accent) blend(#999 90%));
position: relative;
width: 100%;
margin: 40px 0;
input[type="checkbox"] {
position: absolute;
visibility: hidden;
}
input[type="checkbox"]:checked {
~ pre,
~ .code-toolbar pre {
height: 0;
padding: 0;
border-top: none;
}
~ .code-toolbar {
padding: 0;
border-top: none;
.toolbar {
display: none;
}
}
~ label .collapsable-code__toggle:after {
content: attr(data-label-expand);
}
}
label {
position: relative;
display: flex;
justify-content: space-between;
min-width: 30px;
min-height: 30px;
margin: 0;
border-bottom: 1px solid var(--border-color);
cursor: pointer;
}
&__title {
flex: 1;
color: var(--accent);
padding: 3px 10px;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
&__language {
color: var(--accent);
border: 1px solid var(--border-color);
border-bottom: none;
text-transform: uppercase;
padding: 3px 10px;
}
&__toggle {
color: var(--accent);
font-size: 16px;
padding: 3px 10px;
&:after {
content: attr(data-label-collapse);
}
}
pre {
margin-top: 0;
&::first-line {
line-height: 0;
}
}
.code-toolbar {
margin: 0;
}
}

View File

@@ -15,6 +15,10 @@
flex-direction: column; flex-direction: column;
position: relative; position: relative;
@media print {
display: none;
}
&__inner { &__inner {
display: flex; display: flex;
align-items: center; align-items: center;
@@ -36,6 +40,7 @@
a { a {
flex: 0 0 auto; flex: 0 0 auto;
max-width: 100%; max-width: 100%;
text-decoration: none;
} }
} }
@@ -120,6 +125,31 @@
} }
} }
.spacer {
flex-grow: 1;
}
.language-selector {
position: relative;
list-style: none;
margin: 0;
&-current {
list-style-type: none;
display: flex;
flex-direction: row;
color: var(--accent);
cursor: pointer;
margin: 0;
}
&__more {
@mixin menu;
top: 35px;
right: 0;
}
}
&-trigger { &-trigger {
color: var(--accent); color: var(--accent);
border: 2px solid; border: 2px solid;

View File

@@ -14,6 +14,7 @@ body {
font-family: 'Fira Code', Monaco, Consolas, Ubuntu Mono, monospace; font-family: 'Fira Code', Monaco, Consolas, Ubuntu Mono, monospace;
font-size: 1rem; font-size: 1rem;
line-height: 1.54; line-height: 1.54;
letter-spacing: -0.02em;
background-color: color-mod(var(--accent) blend(#1D1E28 98%)); background-color: color-mod(var(--accent) blend(#1D1E28 98%));
color: var(--color); color: var(--color);
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
@@ -28,24 +29,40 @@ body {
} }
} }
h1, h2, h3, h4, h5, h6 { .headings--one-size {
line-height: 1.3; h1,
h2,
h3,
h4,
h5,
h6 {
line-height: 1.3;
&:not(first-child) { &:not(first-child) {
margin-top: 40px; margin-top: 40px;
}
} }
}
h1, h2, h3 { h1,
font-size: 1.4rem; h2,
} h3 {
font-size: 1.4rem;
}
h4, h5, h6 { h4,
font-size: 1.2rem; h5,
h6 {
font-size: 1.2rem;
}
} }
a { a {
color: inherit; color: inherit;
/* Waiting for a better times... */
/* &:has(code) {
text-decoration-color: var(--accent);
} */
} }
img { img {
@@ -110,7 +127,7 @@ figure {
} }
} }
code { code, kbd {
font-family: 'Fira Code', Monaco, Consolas, Ubuntu Mono, monospace; font-family: 'Fira Code', Monaco, Consolas, Ubuntu Mono, monospace;
font-feature-settings: normal; font-feature-settings: normal;
background: color-mod(var(--accent) a(20%)); background: color-mod(var(--accent) a(20%));
@@ -118,16 +135,22 @@ code {
padding: 1px 6px; padding: 1px 6px;
margin: 0 2px; margin: 0 2px;
font-size: .95rem; font-size: .95rem;
code, kbd {
background: transparent;
padding: 0;
margin: 0;
}
} }
pre { pre {
background: transparent; background: transparent !important;
padding: 20px 10px; padding: 20px 10px;
margin: 40px 0; margin: 40px 0;
font-size: .95rem; font-size: .95rem;
overflow: auto; overflow: auto;
border-top: 1px solid rgba(255, 255, 255, .1); border-top: 1px solid rgba(255, 255, 255, .1);
border-bottom: 1px solid rgba(255, 255, 255, .1); border-bottom: 1px solid rgba(255, 255, 255, .1);
+ pre { + pre {
border-top: 0; border-top: 0;
@@ -158,15 +181,6 @@ blockquote {
padding-right: 0; padding-right: 0;
} }
&:before {
content: '”';
font-family: Georgia, serif;
font-size: 3.875rem;
position: absolute;
left: -40px;
top: -20px;
}
p:first-of-type { p:first-of-type {
margin-top: 0; margin-top: 0;
} }
@@ -179,13 +193,38 @@ blockquote {
position: relative; position: relative;
} }
p:before { p:first-of-type:before {
content: '>'; content: '>';
display: block; display: block;
position: absolute; position: absolute;
left: -25px; left: -25px;
color: var(--accent); color: var(--accent);
} }
&.twitter-tweet {
position: relative;
background: color-mod(var(--accent) a(10%));
font: inherit;
color: inherit;
border: 1px solid var(--accent);
padding-top: 60px;
p:before {
content: '';
}
&:before {
content: '> From Twitter:';
position: absolute;
top: 20px;
color: var(--accent);
font-weight: bold;
}
a {
color: var(--accent);
}
}
} }
table { table {
@@ -195,7 +234,9 @@ table {
margin: 40px 0; margin: 40px 0;
} }
table, th, td { table,
th,
td {
border: 1px dashed var(--accent); border: 1px dashed var(--accent);
padding: 10px; padding: 10px;
} }
@@ -204,7 +245,8 @@ th {
color: var(--accent); color: var(--accent);
} }
ul, ol { ul,
ol {
margin-left: 30px; margin-left: 30px;
padding: 0; padding: 0;
@@ -215,9 +257,23 @@ ul, ol {
@media (--phone) { @media (--phone) {
margin-left: 20px; margin-left: 20px;
} }
}
ul, ol { ol {
margin-top: 20px; list-style: none;
counter-reset: li;
li {
counter-increment: li;
}
li:before {
content: counter(li);
position: absolute;
right: calc(100% + 10px);
color: var(--accent);
display: inline-block;
text-align: right;
} }
} }
@@ -225,21 +281,45 @@ ol ol {
list-style-type: lower-alpha; list-style-type: lower-alpha;
} }
mark {
background: var(--accent);
color: var(--background);
}
.container { .container {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
padding: 40px; padding: 40px;
border-right: 1px solid rgba(255, 255, 255, .1);
max-width: 864px; max-width: 864px;
min-height: 100vh; min-height: 100vh;
border-right: 1px solid rgba(255, 255, 255, 0.1);
&.full,
&.center {
border: none;
margin: 0 auto;
}
&.full {
max-width: 100%;
}
@media (--phone) { @media (--phone) {
padding: 20px; padding: 20px;
} }
@media print {
display: initial;
}
} }
.content { .content {
display: flex; display: flex;
flex-direction: column;
@media print {
display: initial;
}
} }
hr { hr {

View File

@@ -1,6 +1,10 @@
.pagination { .pagination {
margin-top: 50px; margin-top: 50px;
@media print {
display: none;
}
&__title { &__title {
display: flex; display: flex;
text-align: center; text-align: center;
@@ -43,14 +47,15 @@
.button { .button {
position: relative; position: relative;
display: inline-flex; display: inline-flex;
flex: 1;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
font-size: 1rem; font-size: 1rem;
border-radius: 8px; border-radius: 8px;
max-width: 40%;
padding: 0; padding: 0;
cursor: pointer; cursor: pointer;
appearance: none; appearance: none;
overflow: hidden;
+ .button { + .button {
margin-left: 10px; margin-left: 10px;

View File

@@ -1,3 +1,24 @@
.index-content {
margin-top: 20px;
}
.framed {
border: 1px solid var(--accent);
padding: 20px;
*:first-child {
margin-top: 0;
}
*:last-child {
margin-bottom: 0;
}
}
.posts {
width: 100%;
}
.post { .post {
width: 100%; width: 100%;
text-align: left; text-align: left;
@@ -70,8 +91,8 @@
ul { ul {
list-style: none; list-style: none;
li:before { li:not(:empty):before {
content: ''; content: '-';
position: absolute; position: absolute;
left: -20px; left: -20px;
color: var(--accent); color: var(--accent);
@@ -88,9 +109,24 @@
justify-content: center; justify-content: center;
margin-bottom: 10px; margin-bottom: 10px;
&+ h2 { & + h2 {
margin-top: -10px; margin-top: -10px;
margin-bottom: 20px; margin-bottom: 20px;
} }
} }
} }
.hanchor {
color: color-mod(var(--accent) alpha(90%));
text-decoration: none;
margin-left: 10px;
visibility: hidden;
}
h1:hover a, h2:hover a, h3:hover a, h4:hover a {
visibility: visible;
}
.footnotes {
color: color-mod(var(--color) alpha(50%));
}

View File

@@ -6,6 +6,10 @@ https://prismjs.com/download.html#themes=prism-tomorrow&languages=markup+css+cli
* @author Rose Pritchard * @author Rose Pritchard
*/ */
:root {
--code-margin: 40px;
}
code[class*="language-"], code[class*="language-"],
pre[class*="language-"] { pre[class*="language-"] {
background: none; background: none;
@@ -17,13 +21,7 @@ pre[class*="language-"] {
word-wrap: normal; word-wrap: normal;
line-height: 1.5; line-height: 1.5;
-moz-tab-size: 2;
-o-tab-size: 2;
tab-size: 2; tab-size: 2;
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
hyphens: none; hyphens: none;
} }
@@ -31,18 +29,19 @@ pre[class*="language-"] {
/* Code blocks */ /* Code blocks */
pre[class*="language-"] { pre[class*="language-"] {
margin: 0; margin: 0;
padding: 0;
overflow: auto; overflow: auto;
} }
:not(pre) > code[class*="language-"], :not(pre) > code[class*="language-"],
pre[class*="language-"] { pre[class*="language-"] {
border-radius: 8px; border-radius: 0;
} }
/* Inline code */ /* Inline code */
:not(pre) > code[class*="language-"] { :not(pre) > code[class*="language-"] {
padding: .1em; padding: .1em;
border-radius: .3em; border-radius: 0;
white-space: normal; white-space: normal;
} }
@@ -77,44 +76,35 @@ pre[class*="language-"].line-numbers > code {
left: -3.8em; left: -3.8em;
width: 3em; /* works for line-numbers below 1000 lines */ width: 3em; /* works for line-numbers below 1000 lines */
letter-spacing: -1px; letter-spacing: -1px;
border-right: 1px solid #999; border-right: 1px solid color-mod(var(--accent) blend(#999 90%) a(20%));
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none; user-select: none;
} }
.line-numbers-rows > span { .line-numbers-rows > span {
pointer-events: none; pointer-events: none;
display: block; display: block;
counter-increment: linenumber; counter-increment: linenumber;
} }
.line-numbers-rows > span:before { .line-numbers-rows > span:before {
content: counter(linenumber); content: counter(linenumber);
color: #999; color: color-mod(var(--accent) blend(#999 90%) a(40%));
display: block; display: block;
padding-right: 0.8em; padding-right: 0.8em;
text-align: right; text-align: right;
} }
.code-toolbar { .code-toolbar {
position: relative; position: relative;
margin: 40px 0; margin: var(--code-margin) 0;
padding: 20px 0; padding: 20px;
border-top: 1px solid rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .1);
border-bottom: 1px solid rgba(255, 255, 255, .1);
+ .code-toolbar {
border-top: 0;
margin-top: -40px;
}
+ .code-toolbar,
+ .highlight, + .highlight,
+ .highlight .code-toolbar { + .highlight .code-toolbar {
border-top: 0; border-top: 0;
margin-top: calc(-1 * var(--code-margin));
} }
pre, code { pre, code {
@@ -122,14 +112,20 @@ pre[class*="language-"].line-numbers > code {
} }
code { code {
display: block;
color: inherit; color: inherit;
} }
} }
.highlight + .highlight .code-toolbar {
border-top: 0;
margin-top: calc(-1 * var(--code-margin));
}
div.code-toolbar > .toolbar { div.code-toolbar > .toolbar {
position: absolute; position: absolute;
top: .3em; top: 10px;
right: .2em; right: 10px;
transition: opacity 0.3s ease-in-out; transition: opacity 0.3s ease-in-out;
opacity: 0; opacity: 0;
} }
@@ -154,9 +150,7 @@ div.code-toolbar > .toolbar button {
line-height: normal; line-height: normal;
overflow: visible; overflow: visible;
padding: 0; padding: 0;
-webkit-user-select: none; /* for button */ user-select: none;
-moz-user-select: none;
-ms-user-select: none;
} }
div.code-toolbar > .toolbar a, div.code-toolbar > .toolbar a,
@@ -164,11 +158,11 @@ div.code-toolbar > .toolbar button,
div.code-toolbar > .toolbar span { div.code-toolbar > .toolbar span {
color: #bbb; color: #bbb;
font-size: .8em; font-size: .8em;
padding: 0 .5em; padding: 10px;
background: #f5f2f0; background: #f5f2f0;
background: rgba(224, 224, 224, 0.2); background: rgba(224, 224, 224, 0.2);
box-shadow: 0 2px 0 0 rgba(0,0,0,0.2); box-shadow: 0 2px 0 0 rgba(0,0,0,0.2);
border-radius: .5em; border-radius: 0;
} }
div.code-toolbar > .toolbar a:hover, div.code-toolbar > .toolbar a:hover,
@@ -177,7 +171,6 @@ div.code-toolbar > .toolbar button:hover,
div.code-toolbar > .toolbar button:focus, div.code-toolbar > .toolbar button:focus,
div.code-toolbar > .toolbar span:hover, div.code-toolbar > .toolbar span:hover,
div.code-toolbar > .toolbar span:focus { div.code-toolbar > .toolbar span:focus {
color: inherit;
text-decoration: none; text-decoration: none;
} }
@@ -189,15 +182,10 @@ div.code-toolbar > .toolbar span:focus {
letter-spacing: -1px; letter-spacing: -1px;
margin-right: 1em; margin-right: 1em;
pointer-events: none; pointer-events: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none; user-select: none;
} }
.command-line-prompt > span:before { .command-line-prompt > span:before {
color: #999;
content: ' '; content: ' ';
display: block; display: block;
padding-right: 0.8em; padding-right: 0.8em;

16
assets/css/style.css Normal file
View File

@@ -0,0 +1,16 @@
@import 'variables.css';
@import 'font.css';
@import 'buttons.css';
@import 'header.css';
@import 'logo.css';
@import 'main.css';
@import 'post.css';
@import 'pagination.css';
@import 'footer.css';
@import 'prism.css';
@import 'syntax.css';
@import 'code.css';
@import 'terms.css';

99
assets/css/syntax.css Normal file
View File

@@ -0,0 +1,99 @@
code.language-css,
code.language-scss,
.token.boolean,
.token.string,
.token.entity,
.token.url,
.language-css .token.string,
.language-scss .token.string,
.style .token.string,
.token.attr-value,
.token.keyword,
.token.control,
.token.directive,
.token.statement,
.token.regex,
.token.atrule,
.token.number {
color: var(--accent);
}
.token.tag-id,
.token.atrule-id,
.token.operator,
.token.unit,
.token.placeholder,
.token.variable,
.token.attr-name {
color: color-mod(var(--accent) a(70%));
}
.token.property,
.token.function,
code.language-javascript,
code.language-html,
.command-line-prompt > span:before {
color: color-mod(var(--accent) blend(#999 90%));
}
.token.selector,
.token.tag,
.token.punctuation {
color: white;
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: rgba(255, 255, 255, .3);
}
.token.namespace {
opacity: .7;
}
pre[data-line] {
position: relative;
}
.line-highlight {
position: absolute;
left: 0;
right: 0;
padding: 0;
margin: 0;
background: color-mod(var(--accent) blend(#999 90%) a(8%));
pointer-events: none;
line-height: inherit;
white-space: pre;
}
.line-highlight:before,
.line-highlight[data-end]:after {
content: attr(data-start);
position: absolute;
/* top: .4em; */
left: .6em;
min-width: 1em;
padding: 0 .5em;
background-color: hsla(24, 20%, 50%, .4);
color: hsl(24, 20%, 95%);
font: bold 65%/1.5 sans-serif;
text-align: center;
vertical-align: .3em;
border-radius: 999px;
text-shadow: none;
box-shadow: 0 1px white;
}
.line-highlight[data-end]:after {
content: attr(data-end);
top: auto;
bottom: .4em;
}
.line-numbers .line-highlight:before,
.line-numbers .line-highlight:after {
content: none;
}

9
assets/css/terms.css Normal file
View File

@@ -0,0 +1,9 @@
.terms {
h1 {
color: var(--accent);
}
h3 {
font-size: initial;
}
}

View File

@@ -0,0 +1,18 @@
const mobileQuery = getComputedStyle(document.body).getPropertyValue("--phoneWidth");
const isMobile = () => window.matchMedia(mobileQuery).matches;
if(!isMobile()) {
languageSelector = document.querySelector(".language-selector-current");
moreLanguagesContainer = document.querySelector(".language-selector__more");
document.body.addEventListener("click", () => {
if (moreLanguagesContainer && !moreLanguagesContainer.classList.contains("hidden")) {
moreLanguagesContainer.classList.add("hidden");
}
});
languageSelector && languageSelector.addEventListener("click", e => {
e.stopPropagation();
moreLanguagesContainer.classList.toggle("hidden");
});
}

View File

@@ -6,7 +6,7 @@ const desktopMenuTrigger = document.querySelector(".menu__sub-inner-more-trigger
const menuMore = document.querySelector(".menu__sub-inner-more"); const menuMore = document.querySelector(".menu__sub-inner-more");
const mobileQuery = getComputedStyle(document.body).getPropertyValue("--phoneWidth"); const mobileQuery = getComputedStyle(document.body).getPropertyValue("--phoneWidth");
const isMobile = () => window.matchMedia(mobileQuery).matches; const isMobile = () => window.matchMedia(mobileQuery).matches;
const isMobileMenu = () => { const handleMenuClasses = () => {
mobileMenuTrigger && mobileMenuTrigger.classList.toggle("hidden", !isMobile()); mobileMenuTrigger && mobileMenuTrigger.classList.toggle("hidden", !isMobile());
menu && menu.classList.toggle("hidden", isMobile()); menu && menu.classList.toggle("hidden", isMobile());
menuMore && menuMore.classList.toggle("hidden", !isMobile()); menuMore && menuMore.classList.toggle("hidden", !isMobile());
@@ -17,17 +17,17 @@ const isMobileMenu = () => {
menu && menu.addEventListener("click", e => e.stopPropagation()); menu && menu.addEventListener("click", e => e.stopPropagation());
menuMore && menuMore.addEventListener("click", e => e.stopPropagation()); menuMore && menuMore.addEventListener("click", e => e.stopPropagation());
isMobileMenu(); handleMenuClasses();
document.body.addEventListener("click", () => { document.body.addEventListener("click", () => {
if (!isMobile() && !menuMore.classList.contains("hidden")) { if (!isMobile() && menuMore && !menuMore.classList.contains("hidden")) {
menuMore.classList.add("hidden"); menuMore.classList.add("hidden");
} else if (isMobile() && !menu.classList.contains("hidden")) { } else if (isMobile() && !menu.classList.contains("hidden")) {
menu.classList.add("hidden"); menu.classList.add("hidden");
} }
}); });
window.addEventListener("resize", isMobileMenu); window.addEventListener("resize", handleMenuClasses);
// Mobile menu // Mobile menu

74
assets/js/prism.js Normal file

File diff suppressed because one or more lines are too long

18
babel.config.js Normal file
View File

@@ -0,0 +1,18 @@
module.exports = function(api) {
api.cache(true);
const presets = [
[
"@babel/preset-env",
{
targets: "last 2 versions, >1%, not dead",
},
],
];
const plugins = [];
return {
presets,
plugins,
};
};

View File

@@ -7,6 +7,8 @@ paginate = 5
contentTypeName = "post" contentTypeName = "post"
themeColor = "orange" themeColor = "orange"
showMenuItems = 2 showMenuItems = 2
fullWidthTheme = false
centerTheme = false
[languages] [languages]
[languages.en] [languages.en]

View File

@@ -16,7 +16,7 @@ The theme includes:
- **5 duotone themes**, depending on your preferences (orange, red, blue, green, pink) - **5 duotone themes**, depending on your preferences (orange, red, blue, green, pink)
- [**Fira Code**](https://github.com/tonsky/FiraCode) as default monospaced font. It's gorgeous! - [**Fira Code**](https://github.com/tonsky/FiraCode) as default monospaced font. It's gorgeous!
- **realy nice, custom duotone** syntax highlighting based on [**PrismJS**](https://prismjs.com) - **really nice, custom duotone** syntax highlighting based on [**PrismJS**](https://prismjs.com)
- mobile friendly layout - mobile friendly layout
So, there you have it... enjoy! So, there you have it... enjoy!

10
layouts/404.html Normal file
View File

@@ -0,0 +1,10 @@
{{ define "main" }}
<div class="post">
<h1 class="post-title">404 — {{ $.Site.Params.missingContentMessage | default "Page not found..." }}</h1>
<div class="post-content">
<a href="{{ "/" | absURL }}">{{ $.Site.Params.missingBackButtonLabel | default "Back to home page" }}&nbsp;</a>
</div>
</div>
{{ end }}

View File

@@ -2,12 +2,15 @@
<html lang="{{ $.Site.Language }}"> <html lang="{{ $.Site.Language }}">
<head> <head>
{{ block "title" . }} {{ block "title" . }}
<title>{{ if .IsHome }}{{ $.Site.Title }}{{ with $.Site.Params.Subtitle }} — {{ . }}{{ end }}{{ else }}{{ .Title }} :: {{ $.Site.Title }}{{ with $.Site.Params.Subtitle }} — {{ . }}{{ end }}{{ end }}</title> <title>{{ if .IsHome }}{{ $.Site.Title }}{{ else }}{{ .Title }} :: {{ $.Site.Title }}{{ end }}</title>
{{ end }} {{ end }}
{{ partial "head.html" . }} {{ partial "head.html" . }}
</head> </head>
<body class=""> <body class="{{- ( or .Params.color $.Site.Params.ThemeColor ) -}}">
<div class="container"> {{ $container := cond $.Site.Params.FullWidthTheme "container full" (cond $.Site.Params.CenterTheme "container center" "container") }}
<div class="{{- $container -}}{{- cond ($.Site.Params.oneHeadingSize | default true) " headings--one-size" "" }}">
{{ partial "header.html" . }} {{ partial "header.html" . }}
<div class="content"> <div class="content">

View File

@@ -0,0 +1,67 @@
{{ define "main" }}
{{ if .Content }}
<div class="index-content {{ if .Params.framed -}}framed{{- end -}}">
{{ .Content }}
</div>
{{ end }}
<div class="posts">
{{ $isntDefault := not (or (eq (trim $.Site.Params.contentTypeName " ") "posts") (eq (trim $.Site.Params.contentTypeName " ") "")) }}
{{ $contentTypeName := cond $isntDefault (string $.Site.Params.contentTypeName) "posts" }}
{{ $PageContext := . }}
{{ if .IsHome }}
{{ $PageContext = .Site }}
{{ end }}
{{ $paginator := .Paginate (where $PageContext.RegularPages "Type" $contentTypeName) }}
{{ range $paginator.Pages }}
<div class="post on-list">
<h1 class="post-title">
<a href="{{ .Permalink }}">{{ .Title | markdownify }}</a>
</h1>
<div class="post-meta">
<span class="post-date">
{{ .Date.Format "2006-01-02" }}
</span>
{{ with .Params.Author }}
<span class="post-author">:: {{ . }}</span>
{{ end }}
</div>
{{ if .Params.tags }}
<span class="post-tags">
{{ range .Params.tags }}
#<a href="{{ (urlize (printf "tags/%s/" . )) | absLangURL }}">
{{- . -}}
</a>&nbsp;
{{ end }}
</span>
{{ end }}
{{ if .Params.Cover }}
<img src="{{ .Params.Cover | absURL }}" class="post-cover" alt="{{ .Title | plainify | default " " }}" />
{{ end }}
<div class="post-content">
{{ if .Params.showFullContent }}
{{ .Content | markdownify }}
{{ else if .Description }}
{{ .Description | markdownify }}
{{ else }}
{{ if .Truncated }}
{{ .Summary | markdownify }}
{{ end }}
{{ end }}
</div>
{{ if not .Params.showFullContent }}
<div>
<a class="read-more button"
href="{{.RelPermalink}}">{{ $.Site.Params.ReadMore }} →</a>
</div>
{{ end }}
</div>
{{ end }}
{{ partial "pagination.html" . }}
</div>
{{ end }}

View File

@@ -1,42 +1,57 @@
{{ define "main" }} {{ define "main" }}
{{ with .Content }}
<div class="index-content">
{{ . }}
</div>
{{ end }}
<div class="posts"> <div class="posts">
{{ $isntDefault := not (or (eq (trim $.Site.Params.contentTypeName " ") "posts") (eq (trim $.Site.Params.contentTypeName " ") "")) }} {{ range .Pages }}
{{ $contentTypeName := cond $isntDefault (string $.Site.Params.contentTypeName) "posts" }} <div class="post on-list">
{{ $paginator := .Paginate (where .Data.Pages "Type" $contentTypeName) }} <h1 class="post-title">
<a href="{{ .Permalink }}">{{ .Title | markdownify }}</a>
{{ range $paginator.Pages }} </h1>
<div class="post on-list"> <div class="post-meta">
<h1 class="post-title"><a href="{{ .Permalink }}">{{ .Title | markdownify }}</a></h1> <span class="post-date">
<div class="post-meta"> {{ .Date.Format "2006-01-02" }}
<span class="post-date"> </span>
{{ .Date.Format "2006-01-02" }} {{ with .Params.Author }}
</span> <span class="post-author">:: {{ . }}</span>
{{ with .Params.Author }}<span class="post-author">:: {{ . }}</span>{{ end }}
</div>
{{ if .Params.tags }}
<span class="post-tags">
{{ range .Params.tags }}
#<a href="{{ (urlize (printf "tags/%s" . )) | absURL }}">{{ . }}</a>&nbsp;
{{ end }} {{ end }}
</span> </div>
{{ end }}
{{ with .Params.Cover }} {{ if .Params.tags }}
<img src="{{ . | absURL }}" class="post-cover" /> <span class="post-tags">
{{ end }} {{ range .Params.tags }}
#<a href="{{ (urlize (printf "tags/%s/" . )) | absLangURL }}">
{{- . -}}
</a>&nbsp;
{{ end }}
</span>
{{ end }}
<div class="post-content"> {{ if .Params.Cover }}
{{ with .Description }} <img src="{{ .Params.Cover | absURL }}" class="post-cover" alt="{{ .Title | plainify | default " " }}" />
{{ . | markdownify }} {{ end }}
{{ else }}
<div class="post-content">
{{ if .Params.showFullContent }}
{{ .Content | markdownify }}
{{ else if .Description }}
{{ .Description | markdownify }}
{{ else }}
{{ if .Truncated }} {{ if .Truncated }}
{{ .Summary | markdownify }} {{ .Summary | markdownify }}
{{ end }} {{ end }}
{{ end }}
</div>
{{ if not .Params.showFullContent }}
<div>
<a class="read-more button"
href="{{.RelPermalink}}">{{ $.Site.Params.ReadMore }} →</a>
</div>
{{ end }} {{ end }}
</div> </div>
<div><a class="read-more button" href="{{.RelPermalink}}">{{ $.Site.Params.ReadMore }} →</a></div>
</div>
{{ end }} {{ end }}
{{ partial "pagination.html" . }} {{ partial "pagination.html" . }}
</div> </div>

View File

@@ -1,53 +1,57 @@
{{ define "main" }} {{ define "main" }}
<div class="post"> <div class="post">
<h1 class="post-title"><a href="{{ .Permalink }}">{{ .Title | markdownify }}</a></h1> <h1 class="post-title">
<div class="post-meta"> <a href="{{ .Permalink }}">{{ .Title | markdownify }}</a></h1>
<div class="post-meta">
{{ if .Params.Date }}
<span class="post-date"> <span class="post-date">
{{ .Date.Format "2006-01-02" }} {{ .Date.Format "2006-01-02" }} {{ if $.Site.Params.showLastUpdated }}[{{or $.Site.Params.updatedDatePrefix "Updated"}}: {{ .Lastmod.Format "2006-01-02" }}]{{ end }}
</span>
{{ with .Params.Author }}<span class="post-author">:: {{ . }}</span>{{ end }}
</div>
{{ if .Params.tags }}
<span class="post-tags">
{{ range .Params.tags }}
#<a href="{{ (urlize (printf "tags/%s" .)) | absURL }}">{{ . }}</a>&nbsp;
{{ end }}
</span> </span>
{{ end }} {{ end }}
{{ with .Params.Author }}
{{ with .Params.Cover }} <span class="post-author">:: {{ . }}</span>
<img src="{{ . | absURL }}" class="post-cover" />
{{ end }}
<div class="post-content">
{{ .Content }}
</div>
{{ if or .NextInSection .PrevInSection }}
<div class="pagination">
<div class="pagination__title">
<span class="pagination__title-h">{{ $.Site.Params.ReadOtherPosts }}</span>
<hr />
</div>
<div class="pagination__buttons">
{{ if .NextInSection }}
<span class="button previous">
<a href="{{ .NextInSection.Permalink }}">
<span class="button__icon"></span>
<span class="button__text">{{ .NextInSection.Title }}</span>
</a>
</span>
{{ end }}
{{ if .PrevInSection }}
<span class="button next">
<a href="{{ .PrevInSection.Permalink }}">
<span class="button__text">{{ .PrevInSection.Title }}</span>
<span class="button__icon"></span>
</a>
</span>
{{ end }}
</div>
</div>
{{ end }} {{ end }}
</div> </div>
{{ if .Params.tags }}
<span class="post-tags">
{{ range .Params.tags }}
#<a href="{{ (urlize (printf "tags/%s/" .)) | absLangURL }}">{{ . }}</a>&nbsp;
{{ end }}
</span>
{{ end }}
{{ if .Params.Cover }}
<img src="{{ .Params.Cover | absURL }}" class="post-cover" alt="{{ .Title | plainify | default " " }}" />
{{ end }}
{{ if .Params.Toc }}
<div class="table-of-contents">
<h2>
{{ if .Params.TocTitle }}
{{ .Params.TocTitle }}
{{ else if $.Site.Params.TocTitle }}
{{ $.Site.Params.TocTitle }}
{{ else }}
Table of Contents
{{ end }}
</h2>
{{ .TableOfContents }}
</div>
{{ end }}
<div class="post-content">
{{- with .Content -}}
<div>
{{ . | replaceRE "(<h[1-9] id=\"([^\"]+)\".+)(</h[1-9]+>)" `${1}<a href="#${2}" class="hanchor" ariaLabel="Anchor">&#8983;</a> ${3}` | safeHTML }}
</div>
{{- end -}}
</div>
{{ if eq .Type $.Site.Params.contentTypeName }}
{{ partial "posts_pagination.html" . }}
{{ end }}
{{ partial "comments.html" . }}
</div>
{{ end }} {{ end }}

View File

@@ -0,0 +1,17 @@
{{ define "main" }}
<div class="terms">
<h1>{{ .Title }}</h1>
<ul>
{{ $type := .Type }}
{{ range $key, $value := .Data.Terms.Alphabetical }}
{{ $name := .Name }}
{{ $count := .Count }}
{{ with $.Site.GetPage (printf "/%s/%s" $type $name) }}
<li>
<a class="terms-title" href="{{ .Permalink }}">{{ .Name }} ({{ $count }})</a>
</li>
{{ end }}
{{ end }}
</ul>
</div>
{{ end }}

View File

@@ -0,0 +1,8 @@
<!--
To add comments section, please create `layouts/partials/comments.html` in your
Hugo directory and insert:
{{ template "_internal/disqus.html" . }}
or whatever comment engine you want -> https://gohugo.io/content-management/comments/#readout
-->

View File

@@ -0,0 +1,4 @@
<!--
To add an extended footer section, please create
`layouts/partials/extended_footer.html` in your Hugo directory.
-->

View File

@@ -0,0 +1,4 @@
<!--
To add an extended head section, please create
`layouts/partials/extended_head.html` in your Hugo directory.
-->

View File

@@ -1,15 +1,24 @@
<footer class="footer"> <footer class="footer">
<div class="footer__inner"> <div class="footer__inner">
{{ if $.Site.Copyright }} {{ if $.Site.Copyright }}
<div class="copyright copyright--user">{{ $.Site.Copyright | safeHTML }}</div> <div class="copyright copyright--user">
<span>{{ $.Site.Copyright | safeHTML }}</span>
{{else}} {{else}}
<div class="copyright"> <div class="copyright">
<span>© {{ now.Year }} Powered by <a href="http://gohugo.io">Hugo</a></span> <span>© {{ now.Year }} Powered by <a href="http://gohugo.io">Hugo</a></span>
{{end}}
<span>:: Theme made by <a href="https://twitter.com/panr">panr</a></span> <span>:: Theme made by <a href="https://twitter.com/panr">panr</a></span>
</div> </div>
{{end}}
</div> </div>
</footer> </footer>
<script src="{{ "assets/main.js" | absURL }}"></script> {{ $js := resources.Get "js/main.js" | js.Build }}
<script src="{{ "assets/prism.js" | absURL }}"></script> {{ $js := resources.Get "js/prism.js" | js.Build }}
{{ $opts := dict "noComments" true "minified" true "compact" true }}
{{ $menu := resources.Get "js/menu.js" | js.Build | babel $opts }}
{{ $prism := resources.Get "js/prism.js" | js.Build | babel $opts }}
<script src="{{ $menu.Permalink }}"></script>
<script src="{{ $prism.Permalink }}"></script>
<!-- Extended footer section-->
{{ partial "extended_footer.html" . }}

View File

@@ -1,52 +1,78 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="{{ if .IsHome }}{{ .Site.Params.Subtitle }}{{ else }}{{ .Summary | plainify }}{{ end }}"/> <meta name="description" content="{{ if .IsHome }}{{ .Site.Params.Subtitle }}{{ else }}{{ .Summary | plainify }}{{ end }}" />
<meta name="keywords" content="{{ $.Site.Params.keywords }}"/> <meta name="keywords" content="{{ with .Params.Keywords }}{{ delimit . ", " }}{{ else }}{{ $.Site.Params.Keywords }}{{ end }}" />
<meta name="robots" content="noodp"/> <meta name="robots" content="noodp" />
<link rel="canonical" href="{{ .Permalink }}" /> <link rel="canonical" href="{{ .Permalink }}" />
{{ template "_internal/google_analytics.html" . }}
<!-- Theme CSS --> <!-- Theme CSS -->
<link rel="stylesheet" href="{{ "assets/style.css" | absURL }}"> {{ $css := resources.Get "css/style.css" }}
{{ if (ne $.Site.Params.ThemeColor "orange") }} {{ $opts := dict "inlineImports" true }}
<link rel="stylesheet" href="{{ (printf "assets/%s.css" $.Site.Params.ThemeColor) | absURL }}"> {{ $style := $css | resources.PostCSS $opts | minify }}
<link rel="stylesheet" href="{{ $style.Permalink }}">
{{ if (or (isset .Params "color") (ne $.Site.Params.ThemeColor "orange")) }}
{{ $colorCss := resources.Get (printf "css/color/%s.css" (or .Params.color $.Site.Params.ThemeColor)) }}
{{ $color := $colorCss | resources.PostCSS $opts | minify }}
<link rel="stylesheet" href="{{ $color.Permalink }}">
{{ end }} {{ end }}
<!-- Custom CSS to override theme properties (/static/style.css) --> <!-- Custom CSS to override theme properties (/static/style.css) -->
<link rel="stylesheet" href="{{ "style.css" | absURL }}"> {{ if (fileExists "static/style.css") -}}
<link rel="stylesheet" href="{{ "style.css" | absURL }}">
{{- end }}
<!-- Icons --> <!-- Icons -->
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="{{ "img/apple-touch-icon-144-precomposed.png" | absURL }}"> <link rel="apple-touch-icon-precomposed" sizes="144x144" href="{{ "img/apple-touch-icon-144-precomposed.png" | absURL }}">
{{ with $.Site.Params.ThemeColor }} {{ if isset $.Site.Params "favicon" }}
<link rel="shortcut icon" href="{{ printf "img/favicon/%s.png" . | absURL }}"> <link rel="shortcut icon" href="{{ $.Site.Params.favicon | absURL }}">
{{ else }}
<link rel="shortcut icon" href="{{ printf "img/favicon/%s.png" $.Site.Params.ThemeColor | absURL }}">
{{ end }} {{ end }}
<!-- Twitter Card --> <!-- Twitter Card -->
<meta name="twitter:card" content="summary" /> <meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="{{ if .IsHome }}{{ $.Site.Title }} — {{ $.Site.Params.Subtitle }}{{ else }}{{ .Title }} :: {{ $.Site.Title }} — {{ $.Site.Params.Subtitle }}{{ end }}" /> {{ if (isset $.Site.Params.Twitter "site") }}
<meta name="twitter:description" content="{{ if .IsHome }}{{ $.Site.Params.tagline }}{{ else }}{{ .Summary | plainify }}{{ end }}" /> <meta name="twitter:site" content="{{ $.Site.Params.Twitter.site }}" />
<meta name="twitter:site" content="{{ $.Site.BaseURL }}" /> {{ end }}
<meta name="twitter:creator" content="{{ .Params.Author }}" /> <meta name="twitter:creator" content="{{ if .IsHome }}{{ $.Site.Params.Twitter.creator }}{{ else if isset .Params "authortwitter" }}{{ .Params.authorTwitter }}{{ else }}{{ .Params.Author }}{{ end }}" />
<meta name="twitter:image" content="{{ with .Params.Cover }}{{ printf "img/%s" . | absURL }}{{ end }}">
<!-- OG data --> <!-- OG data -->
<meta property="og:locale" content="{{ $.Site.Language.Lang }}" /> <meta property="og:locale" content="{{ $.Site.Language.Lang }}" />
<meta property="og:type" content="{{ if .IsPage }}article{{ else }}website{{ end }}" /> <meta property="og:type" content="{{ if .IsPage }}article{{ else }}website{{ end }}" />
<meta property="og:title" content="{{ if .IsHome }}{{ $.Site.Title }} — {{ $.Site.Params.Subtitle }}{{ else }}{{ .Title }} :: {{ $.Site.Title }} — {{ $.Site.Params.Subtitle }}{{ end }}"> <meta property="og:title" content="{{ if .IsHome }}{{ $.Site.Title }}{{ else }}{{ .Title }} :: {{ $.Site.Title }}{{ end }}">
<meta property="og:description" content="{{ if .IsHome }}{{ $.Site.Params.tagline }}{{ else }}{{ .Summary | plainify }}{{ end }}" /> <meta property="og:description" content="{{ if .IsHome }}{{ $.Site.Params.Subtitle }}{{ else if .Description}}{{ .Description | plainify }}{{ else }}{{ .Summary | plainify }}{{ end }}" />
<meta property="og:url" content="{{ .Permalink }}" /> <meta property="og:url" content="{{ .Permalink }}" />
<meta property="og:site_name" content="{{ .Title }}" /> <meta property="og:site_name" content="{{ .Title }}" />
<meta property="og:image" content="{{ with .Params.Cover }}{{ printf "img/%s" . | absURL }}{{ end }}"> {{ if and (not .IsHome) (isset .Params "cover") }}
<meta property="og:image" content="{{ .Param "cover" | absURL }}">
{{ else }}
{{ if isset $.Site.Params "favicon" }}
<meta property="og:image" content="{{ $.Site.Params.favicon | absURL }}">
{{ else }}
<meta property="og:image" content="{{ printf "img/favicon/%s.png" $.Site.Params.ThemeColor | absURL }}">
{{ end }}
{{ end }}
<meta property="og:image:width" content="2048"> <meta property="og:image:width" content="2048">
<meta property="og:image:height" content="1024"> <meta property="og:image:height" content="1024">
{{ range .Params.categories }}<meta property="article:section" content="{{ . }}" />{{ end }} {{ range .Params.categories }}
{{ if isset .Params "date" }}<meta property="article:published_time" content="{{ time .Date }}" />{{ end }} <meta property="article:section" content="{{ . }}" />
{{ end }}
{{ if isset .Params "date" }}
<meta property="article:published_time" content="{{ time .Date }}" />
{{ end }}
<!-- RSS --> <!-- RSS -->
{{ if .RSSLink }} {{ with .OutputFormats.Get "RSS" }}
<link href="{{ $.Site.RSSLink }}" rel="alternate" type="application/rss+xml" title="{{ $.Site.Title }}" /> <link href="{{ .RelPermalink }}" rel="alternate" type="application/rss+xml" title="{{ $.Site.Title }}" />
{{ end }} {{ end }}
<!-- JSON Feed --> <!-- JSON Feed -->
{{ if .OutputFormats.Get "json" }} {{ with .OutputFormats.Get "json" }}
<link href="{{ if .OutputFormats.Get "json" }}{{ "feed.json" | absURL }}{{ end }}" rel="alternate" type="application/json" title="{{ $.Site.Title }}" /> <link href="{{ .RelPermalink }}" rel="alternate" type="application/json" title="{{ $.Site.Title }}" />
{{ end }} {{ end }}
<!-- Extended head section-->
{{ partial "extended_head.html" . }}

View File

@@ -1,4 +1,4 @@
<a href="{{ if $.Site.Params.Logo.LogoHomeLink }}{{ $.Site.Params.Logo.LogoHomeLink }}{{else}}{{ $.Site.BaseURL }}{{ end }}" style="text-decoration: none;"> <a href="{{ if $.Site.Params.Logo.LogoHomeLink }}{{ $.Site.Params.Logo.LogoHomeLink }}{{else}}{{ $.Site.BaseURL }}{{ end }}">
<div class="logo"> <div class="logo">
{{ with $.Site.Params.Logo.logoText }}{{ . }}{{ else }}Terminal{{ end }} {{ with $.Site.Params.Logo.logoText }}{{ . }}{{ else }}Terminal{{ end }}
</div> </div>

View File

@@ -26,6 +26,20 @@
{{ end }} {{ end }}
{{ end }} {{ end }}
{{ end }} {{ end }}
{{ if $.Site.Params.showLanguageSelector }}
<div class="spacer"></div>
<ul class="language-selector">
<ul class="language-selector-current">
<li>{{ .Language.LanguageName }} ▾</li>
</ul>
<ul class="language-selector__more hidden">
{{ range $.Site.Home.AllTranslations }}
<li><a href="{{ .Permalink }}">{{ .Language.LanguageName }}</a></li>
{{ end }}
</ul>
</ul>
{{ end }}
</ul> </ul>
<ul class="menu__inner menu__inner--mobile"> <ul class="menu__inner menu__inner--mobile">
@@ -34,5 +48,13 @@
<li><a href="{{ .URL }}">{{ .Name }}</a></li> <li><a href="{{ .URL }}">{{ .Name }}</a></li>
{{ end }} {{ end }}
{{ end }} {{ end }}
{{ if $.Site.Params.showLanguageSelector }}
<hr />
{{ range $.Site.Home.AllTranslations }}
<li>
<a href="{{ .Permalink }}">{{ .Language.LanguageName }}</a>
</li>
{{ end }}
{{ end }}
</ul> </ul>
</nav> </nav>

View File

@@ -0,0 +1,26 @@
{{ if or .NextInSection .PrevInSection }}
<div class="pagination">
<div class="pagination__title">
<span class="pagination__title-h">{{ $.Site.Params.ReadOtherPosts }}</span>
<hr />
</div>
<div class="pagination__buttons">
{{ if .NextInSection }}
<span class="button previous">
<a href="{{ .NextInSection.Permalink }}">
<span class="button__icon"></span>
<span class="button__text">{{ .NextInSection.Title }}</span>
</a>
</span>
{{ end }}
{{ if .PrevInSection }}
<span class="button next">
<a href="{{ .PrevInSection.Permalink }}">
<span class="button__text">{{ .PrevInSection.Title }}</span>
<span class="button__icon"></span>
</a>
</span>
{{ end }}
</div>
</div>
{{ end }}

View File

@@ -0,0 +1,15 @@
{{ $id := delimit (shuffle (seq 1 9)) "" }}
{{ if .Get "language" }}
<div class="collapsable-code">
<input id="{{ .Get "id" | default $id }}" type="checkbox" {{ if ( eq ( .Get "isCollapsed" ) "true" ) -}} checked {{- end }} />
<label for="{{ .Get "id" | default $id }}">
<span class="collapsable-code__language">{{ .Get "language" }}</span>
{{ if .Get "title" }}<span class="collapsable-code__title">{{ .Get "title" | markdownify }}</span>{{ end }}
<span class="collapsable-code__toggle" data-label-expand="{{ .Get "expand" | default "" }}" data-label-collapse="{{ .Get "collapse" | default "" }}"></span>
</label>
<pre {{ if .Get "language" }}class="language-{{ .Get "language" }}" {{ end }}><code>{{ .Inner | string }}</code></pre>
</div>
{{ else }}
{{ errorf "If you want to use the \"collapsable code\" shortcode, you need to pass a mandatory \"language\" param. The issue occured in %q (%q)" .Page.File .Page.Permalink }}
{{ end }}

View File

@@ -0,0 +1,25 @@
{{ $inner := replaceRE "^\n" "" .Inner | string }}
{{ if len .Params | eq 0 }}
<pre><code>{{ $inner }}</code></pre>
{{ else }}
{{ if .IsNamedParams }}
<pre class="
{{- if .Get "lang" }}language-{{ .Get "lang" }}{{ end }}
{{- if .Get "line-numbers" }} line-numbers{{ end }}
{{- if .Get "command-line" }} command-line{{ end }}"
{{- /* line highlight plugin */ -}}
{{- if .Get "line" }} data-line="{{ .Get "line" }}"{{ end }}
{{- /* line number plugin */ -}}
{{- if .Get "start" }} data-start="{{ .Get "start" }}"{{ end }}
{{- /* command-line plugin */ -}}
{{- if .Get "user" }} data-user="{{ .Get "user" }}"{{ end }}
{{- if .Get "host" }} data-host="{{ .Get "host" }}"{{ end }}
{{- if .Get "prompt" }} data-prompt="{{ .Get "prompt" }}"{{ end }}
{{- if .Get "output" }} data-output="{{ .Get "output" }}"{{ end }}
><code {{ if .Get "lang" }}class="language-{{ .Get "lang" }}"{{ end }}
>{{ $inner }}</code></pre>
{{ else }}
<pre class="language-{{ .Get 0 }}">
<code class="language-{{ .Get 0 }}">{{ $inner }}</code></pre>
{{ end }}
{{ end }}

View File

@@ -1,55 +1,37 @@
{ {
"name": "terminal", "name": "terminal",
"version": "1.0.0", "version": "2.0.0",
"main": "index.js", "main": "index.js",
"author": "Radosław Kozieł <@panr> <radoslaw.koziel@gmail.com>", "author": "Radosław Kozieł <@panr> <radoslaw.koziel@gmail.com>",
"license": "MIT", "license": "MIT",
"scripts": {
"dev": "webpack --mode=development --watch",
"build": "webpack --mode=production"
},
"browserslist": [ "browserslist": [
"last 2 versions", "last 2 versions",
">1%", ">1%",
"not dead" "not dead"
], ],
"devDependencies": { "devDependencies": {
"@babel/cli": "^7.2.3", "@babel/cli": "^7.10.5",
"@babel/core": "^7.2.2", "@babel/core": "^7.10.5",
"@babel/parser": "^7.4.2",
"@babel/plugin-transform-runtime": "^7.2.0", "@babel/plugin-transform-runtime": "^7.2.0",
"@babel/preset-env": "^7.3.1", "@babel/preset-env": "^7.3.1",
"@babel/preset-stage-2": "^7.0.0", "@babel/preset-stage-2": "^7.0.0",
"babel-eslint": "^8.2.1", "babel-eslint": "^8.2.1",
"babel-loader": "^8.0.5",
"browserslist": "^4.0.1", "browserslist": "^4.0.1",
"clean-webpack-plugin": "^0.1.19",
"clipboard": "^2.0.4", "clipboard": "^2.0.4",
"css-loader": "^1.0.1",
"cssnano": "^4.1.8", "cssnano": "^4.1.8",
"eslint-config-airbnb": "^17.1.0",
"eslint-config-prettier": "^2.10.0", "eslint-config-prettier": "^2.10.0",
"eslint-plugin-jsx-a11y": "^6.2.1",
"extract-text-webpack-plugin": "^4.0.0-beta.0",
"file-loader": "^1.1.11",
"html-webpack-plugin": "^3.2.0",
"postcss": "^7.0.0", "postcss": "^7.0.0",
"postcss-browser-reporter": "^0.5.0", "postcss-browser-reporter": "^0.5.0",
"postcss-cli": "^6.1.1", "postcss-cli": "^7.1.1",
"postcss-color-function": "^4.0.1",
"postcss-color-mod-function": "^3.0.3", "postcss-color-mod-function": "^3.0.3",
"postcss-import": "^11.1.0", "postcss-import": "^12.0.1",
"postcss-loader": "^2.1.6", "postcss-loader": "^3.0.0",
"postcss-mixins": "^6.2.1", "postcss-mixins": "^6.2.3",
"postcss-nested": "^3.0.0", "postcss-nested": "^4.2.3",
"postcss-preset-env": "^5.3.0", "postcss-preset-env": "^6.7.0",
"postcss-reporter": "^5.0.0", "postcss-reporter": "^6.0.1",
"postcss-url": "^7.3.2", "postcss-url": "^8.0.0",
"prettier-eslint-cli": "^4.7.1", "prettier-eslint-cli": "^4.7.1"
"ramda": "^0.25.0",
"style-loader": "^0.21.0",
"uglifyjs-webpack-plugin": "^1.3.0",
"url-loader": "^1.1.2",
"webpack": "^4.29.3",
"webpack-cli": "^3.2.3"
} }
} }

View File

@@ -1,14 +0,0 @@
@import 'variables';
@import 'font';
@import 'buttons';
@import 'header';
@import 'logo';
@import 'main';
@import 'post';
@import 'pagination';
@import 'footer';
@import 'prism';
@import 'syntax';

View File

@@ -1,53 +0,0 @@
code.language-css,
code.language-scss,
.token.boolean,
.token.string,
.token.entity,
.token.url,
.language-css .token.string,
.language-scss .token.string,
.style .token.string,
.token.attr-value,
.token.keyword,
.token.control,
.token.directive,
.token.statement,
.token.regex,
.token.atrule,
.token.number {
color: var(--accent);
}
.token.tag-id,
.token.atrule-id,
.token.operator,
.token.unit,
.token.placeholder,
.token.variable,
.token.attr-name {
color: color-mod(var(--accent) a(70%));
}
.token.property,
.token.function,
code.language-javascript,
code.language-html {
color: color-mod(var(--accent) blend(#999 90%));
}
.token.selector,
.token.tag,
.token.punctuation {
color: white;
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: rgba(255, 255, 255, .3);
}
.token.namespace {
opacity: .7;
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){n(1),e.exports=n(2)},function(e,t,n){"use strict"},function(e,t,n){"use strict";var r=document.querySelector(".container"),o=document.querySelector(".menu"),i=document.querySelector(".menu-trigger"),u=(document.querySelector(".menu__inner--desktop"),document.querySelector(".menu__sub-inner-more-trigger")),c=document.querySelector(".menu__sub-inner-more"),d=getComputedStyle(document.body).getPropertyValue("--phoneWidth"),s=function(){return window.matchMedia(d).matches},l=function(){i&&i.classList.toggle("hidden",!s()),o&&o.classList.toggle("hidden",s()),c&&c.classList.toggle("hidden",!s())};o&&o.addEventListener("click",function(e){return e.stopPropagation()}),c&&c.addEventListener("click",function(e){return e.stopPropagation()}),l(),document.body.addEventListener("click",function(){s()||c.classList.contains("hidden")?s()&&!o.classList.contains("hidden")&&o.classList.add("hidden"):c.classList.add("hidden")}),window.addEventListener("resize",l),i&&i.addEventListener("click",function(e){e.stopPropagation(),o&&o.classList.toggle("hidden")}),u&&u.addEventListener("click",function(e){e.stopPropagation(),c&&c.classList.toggle("hidden"),c.getBoundingClientRect().right>r.getBoundingClientRect().right&&(c.style.left="auto",c.style.right=0)})}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -5,7 +5,7 @@ description = "A simple, retro theme for Hugo."
homepage = "https://github.com/panr/hugo-theme-terminal/" homepage = "https://github.com/panr/hugo-theme-terminal/"
tags = ["blog", "clean", "customizable", "dark", "highlighting", "minimal", "monotone", "multilingual", "personal", "responsive", "simple", "technical", "retro"] tags = ["blog", "clean", "customizable", "dark", "highlighting", "minimal", "monotone", "multilingual", "personal", "responsive", "simple", "technical", "retro"]
features = ["blog", "shortcode", "syntax highlighting"] features = ["blog", "shortcode", "syntax highlighting"]
min_version = 0.30 min_version = 0.57
[author] [author]
name = "panr" name = "panr"

View File

@@ -14,7 +14,11 @@ module.exports = {
modules: ["source", "node_modules"], modules: ["source", "node_modules"],
}, },
entry: { entry: {
"main.js": [join("source", "js", "main.js"), join("source", "js", "menu.js")], "main.js": [
join("source", "js", "main.js"),
join("source", "js", "menu.js"),
join("source", "js", "languageSelector.js")
],
"prism.js": join("source", "js", "prism.js"), "prism.js": join("source", "js", "prism.js"),
"style.css": join("source", "css", "style.css"), "style.css": join("source", "css", "style.css"),
"red.css": join("source", "css", "color", "red.css"), "red.css": join("source", "css", "color", "red.css"),

5396
yarn.lock

File diff suppressed because it is too large Load Diff