110 Commits

Author SHA1 Message Date
Nico Alt
bd8f610936 Host stuff locally (#194)
This commit includes the following things to host them locally:
* fonts (formerly from Google Fonts)
* fontawesome
* normalize

For a reasoning on why this is good to do, see below.

Everything is now included in Sass code. This means not only we no more
have requests to third-party sites, but also reduced the amount of
requests necessary to access the page by three.

I mainly downloaded all necessary stuff and put it at appropriate
places. I also ran `make release` to regenerate all CSS files.

Sites that helped me doing this:
* https://switching.social/ethical-alternatives-to-google-fonts/
* https://google-webfonts-helper.herokuapp.com/fonts
* https://google-webfonts-helper.herokuapp.com/fonts/lato?subsets=latin-ext,latin
* https://google-webfonts-helper.herokuapp.com/fonts/merriweather?subsets=vietnamese,cyrillic-ext,latin-ext,latin,cyrillic
* https://google-webfonts-helper.herokuapp.com/fonts/source-code-pro?subsets=latin-ext,latin
* https://fontawesome.com/how-to-use/on-the-web/using-with/sass
* https://github.com/JohnAlbin/normalize-scss

---------------

Currently, this theme opens many connections to third-party sites.

I hope I don't have to explain all too much why not exposing all visitors to Google etc. is a good thing, but I'll do list some advantages:

* Pretty strong CSP: `content-security-policy: default-src https://nico.dorfbrunnen.eu:443`
* Increased autonomy of webpage; if Google or other CDNs goes down, website still looks good
* When building locally without Internet, everything works fine
* Google is all about surveillance capitalism, they want to collect as much data about people as possible
* With this change, we stop helping them on all websites using this theme
* Google (and the other sites might too) is censored in quite some countries; in all of them, this theme would look not as beautiful as it could

Regarding licensing issues:

> first I need to understand if there is any license problem if we distribute these fonts with the theme.

Sure! Here's what I've found out:

According to [the CSS file we pull from Google](https://fonts.googleapis.com/css?family=Lato:400,700%7CMerriweather:300,700%7CSource+Code+Pro:400,700) we're using three fonts: [Lato](https://fonts.google.com/specimen/Lato), [Merriweather](https://fonts.google.com/specimen/Merriweather) and [Source Code Pro](https://fonts.google.com/specimen/Source+Code+Pro). On the bottom right of those pages it says for all fonts that they are licensed under the [Open Font License ](http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL_web). In its preamble, it says:
> The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works.

So I think we're good to go and can include those fonts with the theme.
2019-09-01 20:09:19 -03:00
Lionel Brianto
2fa8ce9cdb Translate to French (#207) 2019-08-25 15:36:32 -03:00
Shreyansh Khajanchi
9b47893b34 add support for utteranc.es (#205) 2019-08-21 10:03:15 -03:00
a1x42
dea81ca434 main link does not switch back to default language if in another language (#202)
no need to configure the language path in the different pages
2019-08-05 09:33:43 -03:00
Naim A
7ed7d3c51e disqus: fixed issue #199 (#200) 2019-07-21 11:22:25 -03:00
John Tobin
26a6a0a7cd Check if commentoUrl is set before using it. (#198)
* Check if commentoUrl is set before using it.

When a variable does not exist it evaluates to `nil`, and so the
check `(not (eq .Site.Params.commentoUrl ""))` evaluates to true rather
than false because `nil` is not "".  Before this change, unless you
explicitly set Params.commentoUrl to "", the commento HTML block would
be added, and this fails because /js/commento.js does not exist.  This
change ensures that the commento HTML block is only added whe
Params.commentoUrl exists and is set to a non-empty string.

* Check if DisqusShortname is set before using it.
2019-07-15 20:42:28 -03:00
Ryan Kes
a1afda5d22 Commento (#196)
* Added rel support

* Added name to contributers file

* Added commento support
2019-06-29 09:46:18 -03:00
Ryan Kes
607a3e2ad9 Home rel link (#195)
* Added rel support

* Added name to contributers file
2019-06-26 10:09:47 -03:00
Nico Alt
90b17fad5c Translate to Spanish (#193) 2019-06-21 09:59:54 -03:00
Nico Alt
a63bece905 Translate to German (#192) 2019-06-21 09:59:09 -03:00
PanZiwei
edab46bf79 Create zh-cn.toml (#189) 2019-06-14 13:32:27 -03:00
Jia "Jay" Tan
ffb50fcf96 Add .html to partials (#188) 2019-06-14 13:27:38 -03:00
Steven
402160d2b1 Change relLangURL to safeURL in the header (#183) 2019-05-24 14:39:43 -03:00
Łukasz Mróz
b54ec3d45b Add custom_js site param for enabling custom js (#182)
* Add custom_js site param for enabling custom js 

I've hit that when adding Cookie Consent on my web page. https://github.com/insites/cookieconsent

* PR Remarks - added Custom JS into exampleSite

* Update layouts/_default/baseof.html

Co-Authored-By: Luiz F. A. de Prá <luizdepra@users.noreply.github.com>

* Update CONTRIBUTORS.md
2019-05-23 13:59:30 -03:00
Naata
7b4f19f1cd use safeHTML in footer (#181) 2019-05-12 20:41:26 -03:00
Yudi
ddbee1ca63 fix taxonomy & multilingual typo (#177)
* fix taxonomy & multilingual typo

* use better fix

https://github.com/luizdepra/hugo-coder/pull/177#discussion_r280132097
2019-05-02 09:01:08 -03:00
Yudi
74232e32b5 replace .URL with .RelPermalink (#176)
* replace .URL with .RelPermalink

find * -type f -exec sed -i "" "s/.URL/.RelPermalink/g" {} \;

* fix my bad
2019-05-01 14:01:25 -03:00
Yudi
43408807a5 update normalize version (#175)
* update normalize version

* update CONTRIBUTORS.md
2019-04-27 14:39:19 -03:00
Wataru Mizukami
ee65eab9fa updated fontawesome version (#174)
* updated fontawesome version

* Update CONTRIBUTORS.md
2019-04-26 09:25:08 -03:00
John Tobin
87879a726a Replace deprecated .Hugo with hugo. (#171)
* Add trailing slash to remove redirects.

When you request /tags/foo, the web server will redirect you to
/tags/foo/ so the browser needs to make two requests.  Add the trailing
slash in the link so that only one request is needed.

* Add trailing slash to remove redirects.

* Improve how trailing slash is added.

Co-Authored-By: tobinjt <johntobin@johntobin.ie>

* Improve how trailing slash is added.

Co-Authored-By: tobinjt <johntobin@johntobin.ie>

* Add John Tobin.

* Replace deprecated .Hugo with hugo.

Hugo 0.55 deprecates .Hugo and produces this warning:
"Page's .Hugo is deprecated and will be removed in a future release.
 Use the global hugo function."

* Bump version to brute-force figure out when "hugo" function was introduced because it is not documented.

* Bump version to brute-force figure out when "hugo" function was introduced because it is not documented.

* Bump version to brute-force figure out when "hugo" function was introduced because it is not documented.

* Bump version to brute-force figure out when "hugo" function was introduced because it is not documented.

* Bump version to brute-force figure out when "hugo" function was introduced because it is not documented.

* Update minimum required version.
2019-04-23 10:17:29 -03:00
d-dandrew
b535058204 Fix HTML lang attribute (#169)
* Fix #165

* use .Site.Language.Lang instead of .Site.LanguageCode according to hugo documentation

* add contributor D_DAndrew
2019-04-22 10:27:07 -03:00
d-dandrew
81666ed54b Add KaTeX support (#164)
* Add render-latex-using-katex.md to Demonstarate how to use the katex

* Update math.html add katex scripts and css
2019-04-01 20:14:19 -03:00
Artem Khvastunov
3483f16f21 don't show empty See also for series (#166)
If series consists only of the current page it doesn't make sense to show an empty See also block.
2019-04-01 20:11:27 -03:00
Caspar Krieger
903cfa0443 Fix empty hrefs in 404 page (#162)
* Fix empty hrefs in 404 page

* Added self to contributors list per PR template
2019-03-20 10:33:46 -03:00
Joseph Ting
27e83b1e5a Add see also section to posts footer (#152)
* Fix series list page title

* Add see also section to posts footer
2019-03-11 08:21:14 -03:00
Sascha Brendel
da6f9e1389 Fix links (#154) 2019-03-08 16:08:41 -03:00
Joseph Ting
4c2cd91048 Fix external link on pages list (#153) 2019-03-08 11:46:35 -03:00
Thomas Vochten
e94774cf5d Fix HTML5 validation for Google Fonts (#151)
* Replaced "|" with encoded value "%7C" for HTML5 compatibility

* Appended to contributers file
2019-03-07 14:25:06 -03:00
Paul Lettington
1d333308a3 Fix HTML syntax for aria-hidden attribute (#148)
* Add a value to the aria-hidden attribute

* Add myself to contributors list
2019-03-07 10:45:09 -03:00
Paul Lettington
a642817803 Fix <link/> tag for RSS feeds (#149) 2019-03-07 10:44:08 -03:00
Jeffrey C
944092c225 Add OpenGraph to each page (#147)
OpenGraph Protocol is used by sites like Facebook to display a rich object in a social graph.

* Add OpenGraph Protocol to each page

Hugo has an internal template for [Open Graph](https://gohugo.io/templates/internal/#open-graph). It takes necessary information from either site's or post's config thus it makes sense to add it to each page.

* Add 'series' to posts archetype
This taxonomy is used to specify related “see also” pages by placing them in the same series.

* Add series taxonomy to exampleSite config.

* Add example of series to exampleSite

* Add spaz926 to Contributors
2019-03-04 11:43:54 -03:00
Luiz F. A. de Prá
e66c174061 Remove hugow (#146) 2019-02-10 21:05:34 -02:00
Luiz de Prá
f2e0a1a6c4 Add missing built css files 2019-02-10 21:01:06 -02:00
Luiz F. A. de Prá
54f0975aa9 Fix pagination style (#145) 2019-02-10 20:56:07 -02:00
Luiz F. A. de Prá
13c99afe10 Add pt-br i18n (#144)
* Add pt-br i18n

* Fix footer text for pt-br
2019-02-09 12:36:32 -02:00
Salvatore Giordano
7528f5bf5e Add external link feature for posts (#141)
* Add external link feature for posts

* Add post example using external link
2019-01-17 11:50:14 -02:00
Luiz F. A. de Prá
ced910a886 Fix hidden nav button on inverted (#140) 2019-01-16 15:54:29 -02:00
Gabriel Monteiro Nepomuceno
4ff77035f6 Easy customize (#138)
* Making easy to customize listing

* adding styles to listing

* removing unintended changes

* correcting declaration

* including files for release

* changing url to be relative so it can work on localhost

* Including suggestions
2019-01-16 13:16:24 -02:00
Piotr Januszewski
12b4246e29 Add simple figure style for content class (#130)
* Add figure style

* Add figure to exampleSite

* Apply suggested changes from code-review
2019-01-07 13:30:09 -02:00
Artem Khvastunov
3d4335a787 Add Twitter Cards to each page (#133)
* Add Twitter Cards to each page

Hugo has an internal template for [Twitter Cards](https://gohugo.io/templates/internal/#twitter-cards). It takes necessary information from either site's or post's config thus it makes sense to add it to each page.

* Add 'description' to posts archetype

This optional field is used by Twitter Cards.

* Add example usage of Twitter Cards

* Add artspb to contributors
2019-01-07 13:26:43 -02:00
Joseph Ting
07687c49c0 Fix multilingual home page avatar (#134) 2019-01-07 11:16:38 -02:00
Joseph Ting
fc576925eb Fix homepage main content section vertical align (#118) 2019-01-04 09:09:52 -02:00
Luiz F. A. de Prá
09e704b6cb Add missing pages 2019-01-02 17:07:27 -02:00
Luiz F. A. de Prá
e10448c4b3 Add HUGO_BIN into Makefile 2019-01-02 17:06:58 -02:00
Joseph Ting
5f052f9301 bug(base-url): change from site url to page url (#131) 2018-12-31 09:05:18 -02:00
Luiz F. A. de Prá
1647f2f112 Improve icons accessibility (#127) 2018-12-20 14:21:11 -02:00
Khosrow Moossavi
b9a232b582 Upgrade Hugo to v0.52/extended (#124) 2018-11-29 09:40:07 -02:00
Khosrow Moossavi
1219798b9c Update PR template (#125) 2018-11-29 09:39:52 -02:00
Thomas Nys
9f034349f6 Fix code indent (#123)
* Fix code indent

* Add myself to the contributors

* Regenerate css
2018-11-26 13:56:31 -02:00
Luiz de Prá
c0708c491e Revert flex on body 2018-11-25 20:40:34 -02:00
Joseph Ting
b4688a765e Change copyright year to be current (#121) 2018-11-21 09:38:36 -02:00
Joseph Ting
bab77656bb Update deprecated device-width media queries (#120) 2018-11-21 09:37:10 -02:00
tobinjt
d89edf3e1b Add trailing slash to remove redirects. (#112)
* Add trailing slash to remove redirects.

When you request /tags/foo, the web server will redirect you to
/tags/foo/ so the browser needs to make two requests.  Add the trailing
slash in the link so that only one request is needed.

* Add trailing slash to remove redirects.

* Improve how trailing slash is added.

Co-Authored-By: tobinjt <johntobin@johntobin.ie>

* Improve how trailing slash is added.

Co-Authored-By: tobinjt <johntobin@johntobin.ie>

* Add John Tobin.
2018-11-20 16:19:10 -02:00
Martin Kiesel
e33d2ec88a Accept boolean as well as string (#119)
* Accept boolean as well as string

* Update math.html

Tidy it up

* Update CONTRIBUTORS.md

Add myself to contributors
2018-11-20 09:39:08 -02:00
Abner Campanha
720f7518a6 Add inverted variables option (#110)
* add inverted variables option

* create inverted styles

* add missed styles

* add myself as contributor
2018-11-12 09:42:52 -02:00
Joseph Ting
55c424f4d1 Add pull request template (#115) 2018-11-09 13:23:48 -02:00
Joseph Ting
8d3c1a2f8e Remove flexbox on body (#114) 2018-11-09 11:03:00 -02:00
NutGuru
04b4bca945 Correct instructions in README.md (#111) 2018-11-02 17:16:37 -03:00
Khosrow Moossavi
a6315788a2 Add CONTRIBUTORS file (#101) 2018-11-01 19:13:00 -03:00
Khosrow Moossavi
fd3ec89897 Taxonomy initial commit, tags and categories (#90)
* Taxonomy initial commit, tags and categories

* WIP: Show in footer for comparison

* Fix post meta
2018-10-27 09:43:26 -03:00
Philipp Rintz
764b9ffef3 Fixed reference to old variable name (#103)
Using RTL would fail due to _colors no longer being available. Changed to import _variables instead.
2018-10-16 10:43:35 -03:00
Khosrow Moossavi
11c0108323 Enhance post header (#100)
- show calendar icon for 'posted date'
- show 'reading time'
2018-10-14 22:24:13 -03:00
Khosrow Moossavi
24c0c2fcc1 Upgrade Hugo to v0.49.2 (#102) 2018-10-14 22:19:57 -03:00
Dale Noe
2a9b72d2ac Adding the ability to have git commit hash in the footer (#78)
* Adding the ability to have git commit hash in the footer

* making changes as discussed in GH-78

* last changes before merge

* removed lines that are not needed

* fixing duplicate

* Last changes hopefully
2018-10-13 15:56:45 -03:00
Padraic Renaghan
9dc5dc0fd0 Crossorigin=Anonymous on theme css (#97)
* crossorigin on the theme stylesheet

* needed on custom stylesheet

* on the theme css link
2018-10-13 09:36:01 -03:00
Jacob Wood
40a780265c Added link to Hugo project website (#92) 2018-10-05 08:47:58 -03:00
Luiz de Prá
9a8cd08b92 Fix missing Netlify configuration 2018-10-04 13:27:33 -03:00
Khosrow Moossavi
dcefc200ee Enhance Makefile and Netlify deployment (#91) 2018-10-04 13:06:06 -03:00
Luiz de Prá
9118a00aeb Refactor Makefile 2018-10-03 21:11:07 -03:00
Khosrow Moossavi
4426c889fd Post refactor to hold everything its own (#88) 2018-10-03 15:06:20 -03:00
Khosrow Moossavi
f834f18de2 Upgrade hugo to 0.49/extended (#89) 2018-10-03 09:26:37 -03:00
Luiz de Prá
a6bf2f0150 Fix social icons 2018-09-17 11:48:27 -03:00
Luiz de Prá
93c66a24c1 Improve README 2018-09-16 20:25:36 -03:00
Myles Johnson
ba59149678 Update FontAwesome (#83) 2018-09-16 18:11:42 -03:00
Luiz de Prá
a094f8fe7b Fix assets permalinks 2018-09-15 09:45:29 -03:00
Luiz de Prá
572ce8b96d Add resources folder 2018-09-14 11:08:17 -03:00
Luiz de Prá
b79cb616ea Add dateformat config 2018-09-14 10:11:27 -03:00
Luiz de Prá
268bc78b3f Update images 2018-09-14 09:28:05 -03:00
Luiz F. A. de Prá
94656f4c79 Style refactor (#77)
* Change fonts

* Fix colors and sizes

* Fix link colors

* Fix headings and links

* Fix icon size
2018-09-14 09:02:58 -03:00
Chip Senkbeil
f83b230aa2 Updated favicon to support alternative file names and paths (#81) 2018-09-13 16:22:53 -03:00
Khosrow Moossavi
ce21f192aa Use hugo-wrapper for demo target of exampleSite (#74)
hugow is a platform independent wrapper for hugo binary
and it removes the need to actually have the correct
binary installed, rather than controlling the required
version through a version file checked in the repo.
2018-09-10 14:32:15 -03:00
Luiz de Prá
1114bddcd3 Fix demo for theme site 2018-09-09 19:56:56 -03:00
Khosrow Moossavi
6c80d2035a Fix navigation (#73)
* Fix hamburger menu for RTL

* Better css rules hierarchy for navigation
2018-09-05 17:42:59 -03:00
Khosrow Moossavi
42d75aefe4 Enable RTL layout by providing 'rtl = true' in the config (#72) 2018-09-01 09:18:10 -03:00
Luiz de Prá
333e6358c8 Add social icons 2018-08-22 08:54:56 -03:00
Luiz de Prá
8e7b5dd41a Remove resources folder 2018-08-21 16:43:14 -03:00
Luiz de Prá
8d97fc3a14 Improve README. 2018-08-21 16:37:55 -03:00
Luiz F. A. de Prá
934db8e964 Add SCSS via Asset Pipeline (#65)
* Remove old files

* Add SCSS pipeline

* Add generated files

* Fix navigation HTML

* Fix media queries

* Remove RTL

* Fix styling for big screens

* Remove separator configs

* Fix menu dropdown

* Add working mobile menu

* Fix menu item heights

* Update README
2018-08-21 16:26:15 -03:00
Vinícius dos Santos Oliveira
1d8e1935de Add style enhancements for AsciiDoc (#67) 2018-07-25 17:09:45 -03:00
Luiz de Prá
20ab4aaa70 Update logos and screenshots 2018-07-25 16:39:12 -03:00
rdhox
f597d91e55 Mobile menu (#63)
* mobile menu functional

* mobile menu beta

* edits mobile-menu: home link out, rtl ok, menu pop over

* mobile menu - bugs correction

* add horizontal separator

* corrections done + add configuration of centered or rtl/ltr mobile menu

* edit config of example

* separator padding full
2018-07-24 20:26:48 -03:00
Luiz de Prá
6e05d09971 Improve README.md 2018-07-08 21:25:03 -03:00
Tomasz Wąsiński
f18b8c4e8e Add support for multilingualism (#40) 2018-07-08 20:12:36 -03:00
rdhox
c7cae007a6 Add avatar option and footer text option (#41)
* Add avatar option and footer text option

* add responsive avatar for narrow screen

* improvement of code

* conflicts solved
2018-07-05 10:06:03 -03:00
Chip Senkbeil
9fdd4f2f4a Updated style to transform name to ~ on smaller screens (#45)
* Updated style to transform name to ~ on smaller screens

* Added Chip Senkbeil to contributors list
2018-07-03 17:14:04 -03:00
rdhox
57ff857391 remove the leading indent of code element (#42) 2018-07-03 14:04:26 -03:00
rdhox
d1a82df5dd edit README file to make disqus config working (#43) 2018-07-02 13:21:12 -03:00
Khosrow Moossavi
fe847fb152 RTL support (#29) 2018-06-18 14:55:42 -03:00
Harry Khanna
7207be04f0 Fix regression in README.md that messes up code fence formatting (#32) 2018-06-11 17:01:48 -03:00
Niels Reijn
4016deb430 Update README.md (#31)
* Update README.md

* Added documentation
2018-06-05 19:28:00 -03:00
Luiz de Prá
ec35c0ef93 Add contributors section into README 2018-05-28 09:28:38 -03:00
Khosrow Moossavi
4f8366220a Generate correct date within archetypes (#27) 2018-05-28 09:16:37 -03:00
Luiz F. A. de Prá
104b0d8ce3 Add logotype into readme 2018-05-27 21:43:13 -03:00
Luiz F. A. de Prá
141f3288b2 Fix logos location 2018-05-27 21:43:04 -03:00
Luiz F. A. de Prá
c9d4c83faf Improve demo command 2018-05-27 21:38:01 -03:00
tobaloidee
ccf50e5893 New Logo (#26)
* New Logo

SVG and PNG files included

* Updated with new Logo

* Delete HUGO-CODER logotype B.svg

* Delete HUGO CODER FAVICON-01.png

* Delete HUGO-CODER logotype B.png

* Delete HUGO-CODER logotype A.svg

* Delete HUGO-CODER logotype A.png

* Delete HUGO-CODER logomark.png

* Delete HUGO CODER FAVICON.svg

* Create new logo

* Delete new logo

* Create new logo

* logo files 

png & svg

* Delete hugo-coder-logotype a.png

* Delete hugo-coder-logotype a.svg

* Delete hugo-coder-logotype b.png

* Delete hugo-coder-logotype b.svg

* Add files via upload

* Delete new logo

* Delete hugo-coder-favicon.png

* Delete hugo-coder-favicon.svg

* Delete hugo-coder-logomark.png

* Delete hugo-coder-logotype-a.png

* Delete hugo-coder-logotype-a.svg

* Delete hugo-coder-logotype-b.png

* Delete hugo-coder-logotype-b.svg

* Create logo

* Add files via upload

* Update README.md

* Update README.md

* Update README.md

* Update README.md
2018-05-27 15:49:12 -03:00
Ihor Dvoretskyi
d2a8b2219a Typo fixed that crashes the demo build (#23) 2018-05-21 14:02:16 -03:00
Khosrow Moossavi
9a070c2380 Ability to add extra custom CSS (#22) 2018-05-14 09:51:23 -03:00
Luiz F. A. de Prá
82fab8b82a Fix home link 2018-05-10 21:41:38 -03:00
Jan Baudisch
d69c5cfef3 Update footer to be optional (#20)
* Update footer to be optional

* Update example with optional footer

* Update README with optional footer
2018-05-09 21:06:16 -03:00
156 changed files with 18901 additions and 621 deletions

View File

@@ -22,7 +22,7 @@ trim_trailing_whitespace = false
indent_size = 2
# web files
[*.{html,css,less}]
[*.{html,css,scss}]
indent_size = 2
[Makefile]

33
.github/pull_request_template.md vendored Normal file
View File

@@ -0,0 +1,33 @@
### Prerequisites
Put an `x` into the box(es) that apply:
- [ ] This pull request fixes a bug.
- [ ] This pull request adds a feature.
- [ ] This pull request introduces breaking change.
### Description
Describe what this pull request achieves.
### Issues Resolved
List any existing issues this pull request resolves.
### Checklist
Put an `x` into the box(es) that apply:
#### General
- [ ] Describe what changes are being made
- [ ] Explain why and how the changes were necessary and implemented respectively
- [ ] Reference issue with `#<ISSUE_NO>` if applicable
#### Resources
- [ ] If you have changed any SCSS code, run `make release` to regenerate all CSS files
#### Contributors
- [ ] Add yourself to `CONTRIBUTORS.md` if you aren't on it already

3
.gitignore vendored
View File

@@ -1 +1,4 @@
**/themes/
demo/
.hugo/*
!.hugo/version

47
CONTRIBUTORS.md Normal file
View File

@@ -0,0 +1,47 @@
# Contributors
- [Chip Senkbeil](https://github.com/chipsenkbeil)
- [Dale Noe](https://github.com/dalenoe)
- [Gabor Nagy](https://github.com/Aigeruth)
- [Harry Khanna](https://github.com/hkhanna)
- [Ihor Dvoretskyi](https://github.com/idvoretskyi)
- [Jacob Wood](https://github.com/jacoblukewood)
- [Jan Baudisch](https://github.com/flyingP0tat0)
- [Jiri Hubacek](https://github.com/qeef)
- [Khosrow Moossavi](https://github.com/khos2ow)
- [Maikel](https://github.com/mbollemeijer)
- [Myles Johnson](https://github.com/MylesJohnson)
- [Niels Reijn](https://github.com/reijnn)
- [Padraic Renaghan](https://github.com/prenagha)
- [peterrus](https://github.com/peterrus)
- [Philipp Rintz](https://github.com/p-rintz)
- [Ralf Junghanns](https://github.com/rabbl)
- [rdhox](https://rdhox.io)
- [tobaloidee](https://github.com/Tobaloidee)
- [Tomasz Wąsiński](https://github.com/wasinski)
- [Vinícius dos Santos Oliveira](https://github.com/vinipsmaker)
- [Vlad Ionescu](https://github.com/Vlaaaaaaad)
- [Joseph Ting](https://github.com/josephting)
- [Abner Campanha](https://github.com/abnerpc)
- [Martin Kiesel](https://github.com/Kyslik)
- [John Tobin](https://www.johntobin.ie/)
- [Thomas Nys](https://thomasnys.com)
- [Piotr Januszewski](https://piojanu.github.io)
- [Artem Khvastunov](https://artspb.me)
- [Gabriel Nepomuceno](https://blog.nepomuceno.me)
- [Salvatore Giordano](https://salvatore-giordano.github.io)
- [Jeffrey Carpenter](https://uvolabs.me)
- [Paul Lettington](https://github.com/plett)
- [Thomas Vochten](https://github.com/thomasvochten)
- [Caspar Krieger](https://www.asparck.com)
- [D_DAndrew](https://d-dandrew.github.io)
- [Wataru Mizukami](https://github.com/tarumzu)
- [Yudi Widiyanto](https://github.com/yudiwdynto)
- [Łukasz Mróz](https://github.com/mrozlukasz)
- [Jia "Jay" Tan](https://github.com/j7an)
- [Ryan](https://github.com/alrayyes)
- [Naim A.](https://github.com/naim94a)
- [Alexander Rohde](https://github.com/a1x42)
- [Shreyansh Khajanchi](https://shreyanshja.in)
- [Lionel Brianto](https://lionel.brianto.dev)
- [Nico Alt](https://nico.dorfbrunnen.eu/)

View File

@@ -1,30 +1,20 @@
LESS_DIR = ./static/less
LESS_FILE = style.less
CSS_DIR = ./static/css
CSS_FILE = style.min.css
CSS_TMP_FILE = tmp.css
current_dir = $(shell pwd)
HUGO_BIN=hugo
.PHONY: clean build
.PHONY: prepare release build demo clean
build: clean
lessc $(LESS_DIR)/$(LESS_FILE) > $(CSS_DIR)/$(CSS_TMP_FILE)
uglifycss $(CSS_DIR)/$(CSS_TMP_FILE) > $(CSS_DIR)/$(CSS_FILE)
rm -f $(CSS_DIR)/$(CSS_TMP_FILE)
build: prepare
$(HUGO_BIN) --source demo
demo: build
mkdir -p exampleSite/themes/coder
mkdir -p exampleSite/themes/coder/archetypes
mkdir -p exampleSite/themes/coder/images
mkdir -p exampleSite/themes/coder/layouts
mkdir -p exampleSite/themes/coder/static
cp -r $(current_dir)/archetypes/* exampleSite/themes/coder/archetypes/
cp -r $(current_dir)/images/* exampleSite/themes/coder/images
cp -r $(current_dir)/layouts/* exampleSite/themes/coder/layouts
cp -r $(current_dir)/static/* exampleSite/themes/coder/static
cp -r $(current_dir)/theme.toml exampleSite/themes/coder/theme.toml
cd examplesite && hugo serve -D
demo: prepare
$(HUGO_BIN) server --buildDrafts --source demo
release: build
rm -rf ./resources && cp -r ./demo/resources ./resources
prepare: clean
mkdir -p demo/themes/hugo-coder
rsync -av exampleSite/ demo
rsync -av --exclude='demo' --exclude='exampleSite' --exclude='.git' . demo/themes/hugo-coder
clean:
rm -f $(CSS_DIR)/*.css
rm -rf exampleSite/themes/coder
rm -rf demo

View File

@@ -1,104 +1,26 @@
# hugo-coder
![Hugo Coder Logotype](https://github.com/luizdepra/hugo-coder/blob/master/images/logos/logotype-a.png)
A simple and clean blog theme for Hugo.
A simple and clean blog theme for [Hugo](https://gohugo.io/).
![](https://github.com/luizdepra/hugo-coder/blob/master/images/screenshot.png)
## How to use this theme
## Quick Start
To use `hugo-coder` go through the following steps.
1. Add the repository into your Hugo Project repository as a submodule, `git submodule add https://github.com/luizdepra/hugo-coder.git themes/hugo-coder`.
2. Configure your `config.toml`. You can either use the [this minimal configuration](https://github.com/luizdepra/hugo-coder/wiki/Configurations#complete-example) as a base, or look for a complete explanation about all configurations [here](https://github.com/luizdepra/hugo-coder/wiki/Configurations). The [`config.toml`](https://github.com/luizdepra/hugo-coder/blob/master/exampleSite/config.toml) inside the [`exampleSite`](https://github.com/luizdepra/hugo-coder/tree/master/exampleSite) is also a good reference.
3. Build your site with `hugo serve` and see the result at `http://localhost:1313/`.
### Download
## Extra Guides
Clone this repository into your Hugo project.
```
git clone https://github.com/luizdepra/hugo-coder.git themes/coder
```
### Configuration
Add the following lines to your `config.toml`.
```toml
theme = "coder" # set the theme
[params] # theme parameters
author = "John Doe" # author's name
info = "Full Stack DevOps and Magician" # author's job title or info
description = "John Doe's personal website" # site description
keywords = "blog,developer,personal" # site keywords
# Social links
[[params.social]]
name = "Github"
weight = 1
url = "https://github.com/johndoe/"
[[params.social]]
name = "Twitter"
weight = 2
url = "https://twitter.com/johndoe/"
[[params.social]]
name = "LinkedIn"
weight = 3
url = "https://www.linkedin.com/in/johndoe/"
# Menu links
[[menu.main]]
name = "Blog"
weight = 1
url = "/posts/"
[[menu.main]]
name = "Talks"
weight = 2
url = "/talks/"
[[menu.main]]
name = "About"
weight = 3
url = "/about/"
```
You can look at full working [`config.toml`](https://github.com/luizdepra/hugo-coder/blob/master/exampleSite/config.toml) inside the [exampleSite](https://github.com/luizdepra/hugo-coder/tree/master/exampleSite) folder.
### Build & Test
To update or generate the minified CSS file:
```
make build
```
To build your site and test, run:
```
hugo server
```
To preview the exampleSite, run
```
make demo
```
The above command copies current state of the theme to exampleSite/themes and starts hugo with hugo serve -D (Go does not support Symlink directories)
### Disqus
Add the following line to your config,
```disqusShortname = "yourdiscussshortname"``` When this is set, all posts are disqus enabled
You can disable comments for a post by adding the following to your page meta data.
```disable_comments: true```
## To Do
- Tags, Categories and Series
* [Multilingual Mode](https://github.com/luizdepra/hugo-coder/wiki/Multilingual-Mode)
## License
Coder is licensed under the [MIT license](https://github.com/luizdepra/hugo-coder/blob/master/LICENSE.md).
## Author
## Maintenance
[Luiz de Prá](https://luizdepra.com)
This theme is maintained by its author [Luiz de Prá](https://github.com/luizdepra) with the help from these awesome [contributors](CONTRIBUTORS.md).
## Special Thanks

View File

@@ -1,5 +1,6 @@
+++
draft = true
date = {{ .Date }}
title = ""
slug = ""
+++

View File

@@ -1,8 +1,11 @@
+++
draft = true
date = "2018-01-01T00:00:00-00:00"
date = {{ .Date }}
title = ""
description = ""
slug = ""
tags = []
categories = []
externalLink = ""
series = []
+++

View File

@@ -1,11 +0,0 @@
+++
draft = true
date = {{ .Date }}
title = "{{ replace .Name "-" " " | title }}"
tags = []
categories = []
+++
{{% section %}}
{{% /section %}}

203
assets/scss/_base.scss Normal file
View File

@@ -0,0 +1,203 @@
*,
*:after,
*:before {
box-sizing: inherit;
}
html {
box-sizing: border-box;
font-size: 62.5%;
}
body {
color: $fg-color;
background-color: $bg-color;
font-family: $text-font-family;
font-size: 1.6em;
font-weight: 300;
line-height: 1.8em;
@media only screen and (max-width : 768px) {
font-size: 1.6em;
line-height: 1.6em;
}
}
a {
font-weight: 300;
color: $link-color;
text-decoration: none;
&:focus,
&:hover {
text-decoration: underline;
}
}
p {
margin: 2.0rem 0 2.0rem 0;
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-family: $heading-font-family;
font-weight: 700;
color: $alt-fg-color;
margin: 6.4rem 0 3.2rem 0;
}
h1 {
font-size: 3.2rem;
line-height: 3.6rem;
@media only screen and (max-width : 768px) {
font-size: 3.0rem;
line-height: 3.4rem;
}
}
h2 {
font-size: 2.8rem;
line-height: 3.2rem;
@media only screen and (max-width : 768px) {
font-size: 2.6rem;
line-height: 3.0rem;
}
}
h3 {
font-size: 2.4rem;
line-height: 2.8rem;
@media only screen and (max-width : 768px) {
font-size: 2.2rem;
line-height: 2.6rem;
}
}
h4 {
font-size: 2.2rem;
line-height: 2.6rem;
@media only screen and (max-width : 768px) {
font-size: 2.0rem;
line-height: 2.4rem;
}
}
h5 {
font-size: 2.0rem;
line-height: 2.4rem;
@media only screen and (max-width : 768px) {
font-size: 1.8rem;
line-height: 2.2rem;
}
}
h6 {
font-size: 1.8rem;
line-height: 2.2rem;
@media only screen and (max-width : 768px) {
font-size: 1.6rem;
line-height: 2.0rem;
}
}
b, strong {
font-weight: 700;
}
pre {
display: block;
font-family: $code-font-family;
font-size: 1.6rem;
font-weight: 400;
line-height: 2.6rem;
margin: 2.0rem 0 2.0rem 0;
padding: 2.0rem;
overflow-x: auto;
code {
display: inline-block;
background-color: inherit;
color: inherit;
}
}
code {
font-family: $code-font-family;
font-size: 1.6rem;
font-weight: 400;
background-color: $alt-bg-color;
color: $fg-color;
padding: 0.2rem 0.4rem 0.2rem 0.4rem;
}
blockquote {
border-left: 2px solid $alt-bg-color;
padding-left: 2.0rem;
line-height: 2.2rem;
font-weight: 400;
font-style: italic;
}
th, td {
padding: 1.6rem;
}
table {
border-collapse: collapse;
}
table td, table th {
border: 2px solid $alt-fg-color;
}
table tr:first-child th {
border-top: 0;
}
table tr:last-child td {
border-bottom: 0;
}
table tr td:first-child,
table tr th:first-child {
border-left: 0;
}
table tr td:last-child,
table tr th:last-child {
border-right: 0;
}
img {
max-width: 100%;
}
.wrapper {
display: flex;
flex-direction: column;
min-height: 100vh;
width: 100%;
}
.container {
margin: 0 auto;
max-width: 90.0rem;
width: 100%;
padding-left: 2.0rem;
padding-right: 2.0rem;
}
.fab {
font-weight: 400;
}
.fas {
font-weight: 700;
}
.float-right {
float: right;
}
.float-left {
float: left;
}
.fab {
font-weight: 400;
}
.fas {
font-weight: 900;
}

View File

@@ -0,0 +1,39 @@
body.inverted {
color: $fg-color-inverted;
background-color: $bg-color-inverted;
a {
color: $link-color-inverted;
}
h1,
h2,
h3,
h4,
h5,
h6 {
color: $alt-fg-color-inverted;
}
code {
background-color: $alt-bg-color-inverted;
color: $fg-color-inverted;
}
pre {
code {
background-color: inherit;
color: inherit;
}
}
blockquote {
border-left: 2px solid $alt-bg-color-inverted;
}
table td, table th {
border: 2px solid $alt-fg-color-inverted;
}
}

View File

@@ -0,0 +1,23 @@
body.rtl {
direction: rtl;
pre {
direction: ltr;
}
blockquote {
border-left: none;
border-right: 2px solid $alt-bg-color;
padding-left: 0;
padding-right: 1.6rem;
}
table tr td:first-child,
table tr th:first-child {
border-right: 0;
}
table tr td:last-child,
table tr th:last-child {
border-left: 0;
}
}

169
assets/scss/_content.scss Normal file
View File

@@ -0,0 +1,169 @@
.content {
flex: 1;
display: flex;
margin-top: 1.6rem;
margin-bottom: 3.2rem;
article {
header {
margin-top: 6.4rem;
margin-bottom: 3.2rem;
h1 {
font-size: 4.2rem;
line-height: 4.6rem;
margin: 0;
@media only screen and (max-width : 768px) {
font-size: 4.0rem;
line-height: 4.4rem;
}
}
}
footer {
margin-top: 4.0rem;
.see-also {
margin: 3.2rem 0;
h3 {
margin: 3.2rem 0;
}
}
}
}
.post {
.post-title {
margin-bottom: .75em;
}
.post-meta {
i {
text-align: center;
width: 1.6rem;
margin-left: 0;
margin-right: 0.5rem;
}
.date {
.posted-on {
margin-left: 0;
margin-right: 1.5rem;
}
}
}
}
figure {
margin: 0;
padding: 0;
}
figcaption p {
text-align: center;
font-style: italic;
font-size: 1.6rem;
margin: 0;
}
}
.avatar img{
width: 20rem;
height: auto;
border-radius: 50%;
@media only screen and (max-width : 768px) {
width: 10rem;
}
}
.list {
ul {
margin: 3.2rem 0 3.2rem 0;
list-style: none;
padding: 0;
li {
font-size: 1.8rem;
@media only screen and (max-width : 768px) {
margin: 1.6rem 0 1.6rem 0;
}
.date {
display: inline-block;
width: 20.0rem;
text-align: right;
margin-right: 3.0rem;
@media only screen and (max-width : 768px) {
display: block;
text-align: left;
}
}
.title {
font-size: 1.8rem;
color: $fg-color;
font-family: $heading-font-family;
font-weight: 700;
&:hover,
&:focus {
color: $link-color
}
}
}
}
}
.centered {
display: flex;
align-items: center;
justify-content: center;
.about {
text-align: center;
h1 {
margin-top: 2.0rem;
margin-bottom: 0.5rem;
}
h2 {
margin-top: 1.0rem;
margin-bottom: 0.5rem;
font-size: 2.4rem;
@media only screen and (max-width : 768px) {
font-size: 2.0rem;
}
}
ul {
list-style: none;
margin: 3.0rem 0 1.0rem 0;
padding: 0;
li {
display: inline-block;
position: relative;
a {
color: $fg-color;
text-transform: uppercase;
margin-left: 1.0rem;
margin-right: 1.0rem;
font-size: 1.6rem;
&:hover,
&:focus {
color: $link-color;
}
@media only screen and (max-width : 768px) {
font-size: 1.4rem;
}
i {
font-size: 3.2rem;
}
}
}
}
}
.error {
text-align: center;
h1 {
margin-top: 2.0rem;
margin-bottom: 0.5rem;
font-size: 4.6rem;
@media only screen and (max-width : 768px) {
font-size: 3.2rem;
}
}
h2 {
margin-top: 2.0rem;
margin-bottom: 3.2rem;
font-size: 3.2rem;
@media only screen and (max-width : 768px) {
font-size: 2.8rem;
}
}
}
}

View File

@@ -0,0 +1,36 @@
body.inverted {
.content {
.list {
ul {
li {
.title {
color: $fg-color-inverted;
&:hover,
&:focus {
color: $link-color-inverted
}
}
}
}
}
.centered {
.about {
ul {
li {
a {
color: $fg-color-inverted;
&:hover,
&:focus {
color: $link-color-inverted;
}
}
}
}
}
}
}
}

View File

@@ -0,0 +1,34 @@
body.rtl {
.content {
.post {
.post-meta {
.posted-on {
margin-left: 1.5rem;
margin-right: 0;
}
}
.tags,
.categories {
i {
margin-left: 0.5rem;
margin-right: 0;
}
}
}
}
.list {
ul {
li {
.date {
text-align: left;
margin-left: 3.0rem;
margin-right: 0;
@media only screen and (max-width : 768px) {
text-align: right;
}
}
}
}
}
}

87
assets/scss/_fonts.scss Normal file
View File

@@ -0,0 +1,87 @@
/* Generated with https://google-webfonts-helper.herokuapp.com */
/* lato-regular - latin_latin-ext */
@font-face {
font-family: 'Lato';
font-style: normal;
font-weight: 400;
src: url('/assets/fonts/lato/lato-v16-latin_latin-ext-regular.eot'); /* IE9 Compat Modes */
src: local('Lato Regular'), local('Lato-Regular'),
url('/assets/fonts/lato/lato-v16-latin_latin-ext-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('/assets/fonts/lato/lato-v16-latin_latin-ext-regular.woff2') format('woff2'), /* Super Modern Browsers */
url('/assets/fonts/lato/lato-v16-latin_latin-ext-regular.woff') format('woff'), /* Modern Browsers */
url('/assets/fonts/lato/lato-v16-latin_latin-ext-regular.ttf') format('truetype'), /* Safari, Android, iOS */
url('/assets/fonts/lato/lato-v16-latin_latin-ext-regular.svg#Lato') format('svg'); /* Legacy iOS */
}
/* lato-700 - latin_latin-ext */
@font-face {
font-family: 'Lato';
font-style: normal;
font-weight: 700;
src: url('/assets/fonts/lato/lato-v16-latin_latin-ext-700.eot'); /* IE9 Compat Modes */
src: local('Lato Bold'), local('Lato-Bold'),
url('/assets/fonts/lato/lato-v16-latin_latin-ext-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('/assets/fonts/lato/lato-v16-latin_latin-ext-700.woff2') format('woff2'), /* Super Modern Browsers */
url('/assets/fonts/lato/lato-v16-latin_latin-ext-700.woff') format('woff'), /* Modern Browsers */
url('/assets/fonts/lato/lato-v16-latin_latin-ext-700.ttf') format('truetype'), /* Safari, Android, iOS */
url('/assets/fonts/lato/lato-v16-latin_latin-ext-700.svg#Lato') format('svg'); /* Legacy iOS */
}
/* merriweather-300 - cyrillic_latin_latin-ext_cyrillic-ext_vietnamese */
@font-face {
font-family: 'Merriweather';
font-style: normal;
font-weight: 300;
src: url('/assets/fonts/merriweather/merriweather-v21-cyrillic_latin_latin-ext_cyrillic-ext_vietnamese-300.eot'); /* IE9 Compat Modes */
src: local('Merriweather Light'), local('Merriweather-Light'),
url('/assets/fonts/merriweather/merriweather-v21-cyrillic_latin_latin-ext_cyrillic-ext_vietnamese-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('/assets/fonts/merriweather/merriweather-v21-cyrillic_latin_latin-ext_cyrillic-ext_vietnamese-300.woff2') format('woff2'), /* Super Modern Browsers */
url('/assets/fonts/merriweather/merriweather-v21-cyrillic_latin_latin-ext_cyrillic-ext_vietnamese-300.woff') format('woff'), /* Modern Browsers */
url('/assets/fonts/merriweather/merriweather-v21-cyrillic_latin_latin-ext_cyrillic-ext_vietnamese-300.ttf') format('truetype'), /* Safari, Android, iOS */
url('/assets/fonts/merriweather/merriweather-v21-cyrillic_latin_latin-ext_cyrillic-ext_vietnamese-300.svg#Merriweather') format('svg'); /* Legacy iOS */
}
/* merriweather-700 - cyrillic_latin_latin-ext_cyrillic-ext_vietnamese */
@font-face {
font-family: 'Merriweather';
font-style: normal;
font-weight: 700;
src: url('/assets/fonts/merriweather/merriweather-v21-cyrillic_latin_latin-ext_cyrillic-ext_vietnamese-700.eot'); /* IE9 Compat Modes */
src: local('Merriweather Bold'), local('Merriweather-Bold'),
url('/assets/fonts/merriweather/merriweather-v21-cyrillic_latin_latin-ext_cyrillic-ext_vietnamese-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('/assets/fonts/merriweather/merriweather-v21-cyrillic_latin_latin-ext_cyrillic-ext_vietnamese-700.woff2') format('woff2'), /* Super Modern Browsers */
url('/assets/fonts/merriweather/merriweather-v21-cyrillic_latin_latin-ext_cyrillic-ext_vietnamese-700.woff') format('woff'), /* Modern Browsers */
url('/assets/fonts/merriweather/merriweather-v21-cyrillic_latin_latin-ext_cyrillic-ext_vietnamese-700.ttf') format('truetype'), /* Safari, Android, iOS */
url('/assets/fonts/merriweather/merriweather-v21-cyrillic_latin_latin-ext_cyrillic-ext_vietnamese-700.svg#Merriweather') format('svg'); /* Legacy iOS */
}
/* source-code-pro-regular - latin_latin-ext */
@font-face {
font-family: 'Source Code Pro';
font-style: normal;
font-weight: 400;
src: url('/assets/fonts/source-code-pro/source-code-pro-v10-latin_latin-ext-regular.eot'); /* IE9 Compat Modes */
src: local('Source Code Pro'), local('SourceCodePro-Regular'),
url('/assets/fonts/source-code-pro/source-code-pro-v10-latin_latin-ext-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('/assets/fonts/source-code-pro/source-code-pro-v10-latin_latin-ext-regular.woff2') format('woff2'), /* Super Modern Browsers */
url('/assets/fonts/source-code-pro/source-code-pro-v10-latin_latin-ext-regular.woff') format('woff'), /* Modern Browsers */
url('/assets/fonts/source-code-pro/source-code-pro-v10-latin_latin-ext-regular.ttf') format('truetype'), /* Safari, Android, iOS */
url('/assets/fonts/source-code-pro/source-code-pro-v10-latin_latin-ext-regular.svg#SourceCodePro') format('svg'); /* Legacy iOS */
}
/* source-code-pro-700 - latin_latin-ext */
@font-face {
font-family: 'Source Code Pro';
font-style: normal;
font-weight: 700;
src: url('/assets/fonts/source-code-pro/source-code-pro-v10-latin_latin-ext-700.eot'); /* IE9 Compat Modes */
src: local('Source Code Pro Bold'), local('SourceCodePro-Bold'),
url('/assets/fonts/source-code-pro/source-code-pro-v10-latin_latin-ext-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('/assets/fonts/source-code-pro/source-code-pro-v10-latin_latin-ext-700.woff2') format('woff2'), /* Super Modern Browsers */
url('/assets/fonts/source-code-pro/source-code-pro-v10-latin_latin-ext-700.woff') format('woff'), /* Modern Browsers */
url('/assets/fonts/source-code-pro/source-code-pro-v10-latin_latin-ext-700.ttf') format('truetype'), /* Safari, Android, iOS */
url('/assets/fonts/source-code-pro/source-code-pro-v10-latin_latin-ext-700.svg#SourceCodePro') format('svg'); /* Legacy iOS */
}

9
assets/scss/_footer.scss Normal file
View File

@@ -0,0 +1,9 @@
.footer {
width: 100%;
text-align: center;
line-height: 2.0rem;
margin-bottom:1.0rem;
a {
color: $link-color;
}
}

View File

@@ -0,0 +1,7 @@
body.inverted {
.footer {
a {
color: $link-color-inverted;
}
}
}

View File

@@ -0,0 +1,96 @@
.navigation {
height: 6.0rem;
width: 100%;
a, span {
display: inline;
font-size: 1.6rem;
font-family: $heading-font-family;
font-weight: 700;
line-height: 6.0rem;
color: $fg-color;
}
a {
&:hover,
&:focus {
color: $link-color
}
}
.navigation-title {
letter-spacing: 0.1rem;
text-transform: uppercase;
}
.navigation-list {
float: right;
list-style: none;
margin-bottom: 0;
margin-top: 0;
@media only screen and (max-width : 768px) {
position: absolute;
top: 6.0rem;
right: 0;
z-index: 5;
visibility: hidden;
opacity: 0;
padding: 0;
max-height: 0;
width: 100%;
background-color: $bg-color;
border-top: solid 2px $alt-bg-color;
border-bottom: solid 2px $alt-bg-color;
transition: opacity 0.25s, max-height 0.15s linear;
}
.navigation-item {
float: left;
margin: 0;
position: relative;
@media only screen and (max-width : 768px) {
float: none !important;
text-align: center;
a, span {
line-height: 5.0rem;
}
}
a, span {
margin-left: 1.0rem;
margin-right: 1.0rem;
}
}
.menu-separator {
@media only screen and (max-width : 768px) {
border-top: 2px solid $fg-color;
margin: 0 8.0rem;
span {
display: none;
}
}
}
}
#menu-toggle {
display: none;
@media only screen and (max-width : 768px) {
&:checked + label {
color: $alt-bg-color;
}
&:checked + label + ul {
visibility: visible;
opacity: 1;
max-height: 100rem;
}
}
}
.menu-button {
display: none;
@media only screen and (max-width : 768px) {
display: block;
font-size: 2.4rem;
font-weight: 400;
line-height: 6.0rem;
color: $fg-color;
cursor: pointer;
&:hover,
&:focus {
color: $link-color
}
}
}
}

View File

@@ -0,0 +1,44 @@
body.inverted {
.navigation {
a, span {
color: $fg-color-inverted;
}
a {
&:hover,
&:focus {
color: $link-color-inverted;
}
}
.navigation-list {
@media only screen and (max-width : 768px) {
background-color: $bg-color-inverted;
border-top: solid 2px $alt-bg-color-inverted;
border-bottom: solid 2px $alt-bg-color-inverted;
}
.menu-separator {
@media only screen and (max-width : 768px) {
border-top: 2px solid $fg-color-inverted;
}
}
}
#menu-toggle {
@media only screen and (max-width : 768px) {
&:checked + label {
color: $alt-bg-color-inverted;
}
}
}
.menu-button {
@media only screen and (max-width : 768px) {
color: $fg-color-inverted;
&:hover,
&:focus {
color: $link-color-inverted;
}
}
}
}
}

View File

@@ -0,0 +1,18 @@
body.rtl {
.navigation-list {
float: left;
@media only screen and (max-width : 768px) {
left: 0;
right: auto;
}
.navigation-item {
float: right;
}
}
.menu-button {
@media only screen and (max-width : 768px) {
float: left;
}
}
}

View File

@@ -0,0 +1,23 @@
.pagination {
margin-top: 6.0rem;
text-align: center;
font-family: $heading-font-family;
li {
display: inline;
text-align: center;
font-weight: 700;
span {
margin: 0;
text-align: center;
width: 3.2rem;
}
a {
font-weight: 300;
span {
margin: 0;
text-align: center;
width: 3.2rem;
}
}
}
}

View File

@@ -0,0 +1,21 @@
// Fonts
$text-font-family: Merriweather, Georgia, serif;
$heading-font-family: Lato, Helvetica, sans-serif;
$code-font-family: 'Source Code Pro', 'Lucida Console', monospace;
// Fontawesome
$fa-font-path: "/assets/webfonts";
// Colors
$bg-color: #FAFAFA !default;
$fg-color: #212121 !default;
$alt-bg-color: #E0E0E0 !default;
$alt-fg-color: #000 !default;
$link-color: #1565c0 !default;
// Colors inverted
$bg-color-inverted: #212121 !default;
$fg-color-inverted: #fafafa !default;
$alt-bg-color-inverted: #424242 !default;
$alt-fg-color-inverted: #fafafa !default;
$link-color-inverted: #f44336 !default;

View File

@@ -0,0 +1,11 @@
@import "variables";
@import "base_inverted";
@import "normalize/normalize";
@import "fonts";
@import "fontawesome/fontawesome";
@import "fontawesome/brands";
@import "fontawesome/solid";
@import "fontawesome/regular";
@import "content_inverted";
@import "navigation_inverted";
@import "footer_inverted";

View File

@@ -0,0 +1,10 @@
@import "_variables";
@import "_base_rtl";
@import "normalize/normalize";
@import "fonts";
@import "fontawesome/fontawesome";
@import "fontawesome/brands";
@import "fontawesome/solid";
@import "fontawesome/regular";
@import "_content_rtl";
@import "_navigation_rtl";

12
assets/scss/coder.scss Normal file
View File

@@ -0,0 +1,12 @@
@import "variables";
@import "base";
@import "normalize/normalize";
@import "fonts";
@import "fontawesome/fontawesome";
@import "fontawesome/brands";
@import "fontawesome/solid";
@import "fontawesome/regular";
@import "content";
@import "navigation";
@import "pagination";
@import "footer";

20
assets/scss/fontawesome/_animated.scss vendored Normal file
View File

@@ -0,0 +1,20 @@
// Animated Icons
// --------------------------
.#{$fa-css-prefix}-spin {
animation: fa-spin 2s infinite linear;
}
.#{$fa-css-prefix}-pulse {
animation: fa-spin 1s infinite steps(8);
}
@keyframes fa-spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}

View File

@@ -0,0 +1,20 @@
// Bordered & Pulled
// -------------------------
.#{$fa-css-prefix}-border {
border: solid .08em $fa-border-color;
border-radius: .1em;
padding: .2em .25em .15em;
}
.#{$fa-css-prefix}-pull-left { float: left; }
.#{$fa-css-prefix}-pull-right { float: right; }
.#{$fa-css-prefix},
.fas,
.far,
.fal,
.fab {
&.#{$fa-css-prefix}-pull-left { margin-right: .3em; }
&.#{$fa-css-prefix}-pull-right { margin-left: .3em; }
}

21
assets/scss/fontawesome/_core.scss vendored Normal file
View File

@@ -0,0 +1,21 @@
// Base Class Definition
// -------------------------
.#{$fa-css-prefix},
.fas,
.far,
.fal,
.fad,
.fab {
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
display: inline-block;
font-style: normal;
font-variant: normal;
text-rendering: auto;
line-height: 1;
}
%fa-icon {
@include fa-icon;
}

View File

@@ -0,0 +1,6 @@
// Fixed Width Icons
// -------------------------
.#{$fa-css-prefix}-fw {
text-align: center;
width: $fa-fw-width;
}

1388
assets/scss/fontawesome/_icons.scss vendored Normal file

File diff suppressed because it is too large Load Diff

23
assets/scss/fontawesome/_larger.scss vendored Normal file
View File

@@ -0,0 +1,23 @@
// Icon Sizes
// -------------------------
// makes the font 33% larger relative to the icon container
.#{$fa-css-prefix}-lg {
font-size: (4em / 3);
line-height: (3em / 4);
vertical-align: -.0667em;
}
.#{$fa-css-prefix}-xs {
font-size: .75em;
}
.#{$fa-css-prefix}-sm {
font-size: .875em;
}
@for $i from 1 through 10 {
.#{$fa-css-prefix}-#{$i}x {
font-size: $i * 1em;
}
}

18
assets/scss/fontawesome/_list.scss vendored Normal file
View File

@@ -0,0 +1,18 @@
// List Icons
// -------------------------
.#{$fa-css-prefix}-ul {
list-style-type: none;
margin-left: $fa-li-width * 5/4;
padding-left: 0;
> li { position: relative; }
}
.#{$fa-css-prefix}-li {
left: -$fa-li-width;
position: absolute;
text-align: center;
width: $fa-li-width;
line-height: inherit;
}

56
assets/scss/fontawesome/_mixins.scss vendored Normal file
View File

@@ -0,0 +1,56 @@
// Mixins
// --------------------------
@mixin fa-icon {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
display: inline-block;
font-style: normal;
font-variant: normal;
font-weight: normal;
line-height: 1;
}
@mixin fa-icon-rotate($degrees, $rotation) {
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})";
transform: rotate($degrees);
}
@mixin fa-icon-flip($horiz, $vert, $rotation) {
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)";
transform: scale($horiz, $vert);
}
// Only display content to screen readers. A la Bootstrap 4.
//
// See: http://a11yproject.com/posts/how-to-hide-content/
@mixin sr-only {
border: 0;
clip: rect(0, 0, 0, 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
}
// Use in conjunction with .sr-only to only display content when it's focused.
//
// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
//
// Credit: HTML5 Boilerplate
@mixin sr-only-focusable {
&:active,
&:focus {
clip: auto;
height: auto;
margin: 0;
overflow: visible;
position: static;
width: auto;
}
}

View File

@@ -0,0 +1,24 @@
// Rotated & Flipped Icons
// -------------------------
.#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); }
.#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); }
.#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); }
.#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); }
.#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); }
.#{$fa-css-prefix}-flip-both, .#{$fa-css-prefix}-flip-horizontal.#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(-1, -1, 2); }
// Hook for IE8-9
// -------------------------
:root {
.#{$fa-css-prefix}-rotate-90,
.#{$fa-css-prefix}-rotate-180,
.#{$fa-css-prefix}-rotate-270,
.#{$fa-css-prefix}-flip-horizontal,
.#{$fa-css-prefix}-flip-vertical,
.#{$fa-css-prefix}-flip-both {
filter: none;
}
}

View File

@@ -0,0 +1,5 @@
// Screen Readers
// -------------------------
.sr-only { @include sr-only; }
.sr-only-focusable { @include sr-only-focusable; }

2062
assets/scss/fontawesome/_shims.scss vendored Normal file

File diff suppressed because it is too large Load Diff

31
assets/scss/fontawesome/_stacked.scss vendored Normal file
View File

@@ -0,0 +1,31 @@
// Stacked Icons
// -------------------------
.#{$fa-css-prefix}-stack {
display: inline-block;
height: 2em;
line-height: 2em;
position: relative;
vertical-align: middle;
width: ($fa-fw-width*2);
}
.#{$fa-css-prefix}-stack-1x,
.#{$fa-css-prefix}-stack-2x {
left: 0;
position: absolute;
text-align: center;
width: 100%;
}
.#{$fa-css-prefix}-stack-1x {
line-height: inherit;
}
.#{$fa-css-prefix}-stack-2x {
font-size: 2em;
}
.#{$fa-css-prefix}-inverse {
color: $fa-inverse;
}

1405
assets/scss/fontawesome/_variables.scss vendored Normal file

File diff suppressed because it is too large Load Diff

22
assets/scss/fontawesome/brands.scss vendored Normal file
View File

@@ -0,0 +1,22 @@
/*!
* Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
*/
@import 'variables';
@font-face {
font-family: 'Font Awesome 5 Brands';
font-style: normal;
font-weight: normal;
font-display: $fa-font-display;
src: url('#{$fa-font-path}/fa-brands-400.eot');
src: url('#{$fa-font-path}/fa-brands-400.eot?#iefix') format('embedded-opentype'),
url('#{$fa-font-path}/fa-brands-400.woff2') format('woff2'),
url('#{$fa-font-path}/fa-brands-400.woff') format('woff'),
url('#{$fa-font-path}/fa-brands-400.ttf') format('truetype'),
url('#{$fa-font-path}/fa-brands-400.svg#fontawesome') format('svg');
}
.fab {
font-family: 'Font Awesome 5 Brands';
}

View File

@@ -0,0 +1,16 @@
/*!
* Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
*/
@import 'variables';
@import 'mixins';
@import 'core';
@import 'larger';
@import 'fixed-width';
@import 'list';
@import 'bordered-pulled';
@import 'animated';
@import 'rotated-flipped';
@import 'stacked';
@import 'icons';
@import 'screen-reader';

23
assets/scss/fontawesome/regular.scss vendored Normal file
View File

@@ -0,0 +1,23 @@
/*!
* Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
*/
@import 'variables';
@font-face {
font-family: 'Font Awesome 5 Free';
font-style: normal;
font-weight: 400;
font-display: $fa-font-display;
src: url('#{$fa-font-path}/fa-regular-400.eot');
src: url('#{$fa-font-path}/fa-regular-400.eot?#iefix') format('embedded-opentype'),
url('#{$fa-font-path}/fa-regular-400.woff2') format('woff2'),
url('#{$fa-font-path}/fa-regular-400.woff') format('woff'),
url('#{$fa-font-path}/fa-regular-400.ttf') format('truetype'),
url('#{$fa-font-path}/fa-regular-400.svg#fontawesome') format('svg');
}
.far {
font-family: 'Font Awesome 5 Free';
font-weight: 400;
}

24
assets/scss/fontawesome/solid.scss vendored Normal file
View File

@@ -0,0 +1,24 @@
/*!
* Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
*/
@import 'variables';
@font-face {
font-family: 'Font Awesome 5 Free';
font-style: normal;
font-weight: 900;
font-display: $fa-font-display;
src: url('#{$fa-font-path}/fa-solid-900.eot');
src: url('#{$fa-font-path}/fa-solid-900.eot?#iefix') format('embedded-opentype'),
url('#{$fa-font-path}/fa-solid-900.woff2') format('woff2'),
url('#{$fa-font-path}/fa-solid-900.woff') format('woff'),
url('#{$fa-font-path}/fa-solid-900.ttf') format('truetype'),
url('#{$fa-font-path}/fa-solid-900.svg#fontawesome') format('svg');
}
.fa,
.fas {
font-family: 'Font Awesome 5 Free';
font-weight: 900;
}

6
assets/scss/fontawesome/v4-shims.scss vendored Normal file
View File

@@ -0,0 +1,6 @@
/*!
* Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
*/
@import 'variables';
@import 'shims';

View File

@@ -0,0 +1,3 @@
@import 'normalize/variables';
@import 'normalize/vertical-rhythm';
@import 'normalize/normalize-mixin';

View File

@@ -0,0 +1,11 @@
// Import Now
//
// If you import this module directly, it will immediately output all the CSS
// needed to normalize default HTML elements across all browsers.
//
// ```
// @import "normalize/import-now";
// ```
@import '../normalize';
@include normalize();

View File

@@ -0,0 +1,666 @@
// Helper function for the normalize() mixin.
@function _normalize-include($section, $exclude: null) {
// Initialize the global variables needed by this function.
@if not global_variable_exists(_normalize-include) {
$_normalize-include: () !global;
$_normalize-exclude: () !global;
}
// Since we are given 2 parameters, set the global variables.
@if $exclude != null {
$include: $section;
// Sass doesn't have static variables, so the work-around is to stuff these
// values into global variables so we can access them in future calls.
$_normalize-include: if(type-of($include) == 'list', $include, ($include)) !global;
$_normalize-exclude: if(type-of($exclude) == 'list', $exclude, ($exclude)) !global;
@return true;
}
// Check if $section is in the $include list.
@if index($_normalize-include, $section) {
@return true;
}
// If $include is set to (all), make sure $section is not in $exclude.
@else if not index($_normalize-exclude, $section) and index($_normalize-include, all) {
@return true;
}
@return false;
}
@mixin normalize($include: (all), $exclude: ()) {
// Initialize the helper function by passing it this mixin's parameters.
$init: _normalize-include($include, $exclude);
// If we've customized any font variables, we'll need extra properties.
@if $base-line-height != 24px
or $base-unit != 'em'
or $h2-font-size != 1.5 * $base-font-size
or $h3-font-size != 1.17 * $base-font-size
or $h4-font-size != 1 * $base-font-size
or $h5-font-size != 0.83 * $base-font-size
or $h6-font-size != 0.67 * $base-font-size {
$normalize-vertical-rhythm: true !global;
}
/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
@if _normalize-include(document) {
/* Document
========================================================================== */
/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in
* IE on Windows Phone and in iOS.
*/
html {
@if $base-font-family {
/* Change the default font family in all browsers (opinionated). */
font-family: $base-font-family;
}
@if $base-font-size != 16px or $normalize-vertical-rhythm {
// Correct old browser bug that prevented accessible resizing of text
// when root font-size is set with px or em.
font-size: ($base-font-size / 16px) * 100%;
}
@if $normalize-vertical-rhythm {
line-height: ($base-line-height / $base-font-size) * 1em; /* 1 */
}
@else {
line-height: 1.15; /* 1 */
}
-ms-text-size-adjust: 100%; /* 2 */
-webkit-text-size-adjust: 100%; /* 2 */
}
}
@if _normalize-include(sections) {
/* Sections
========================================================================== */
/**
* Remove the margin in all browsers (opinionated).
*/
body {
margin: 0;
}
/**
* Add the correct display in IE 9-.
*/
article,
aside,
footer,
header,
nav,
section {
display: block;
}
/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
@include normalize-font-size($h1-font-size);
@if $normalize-vertical-rhythm {
@include normalize-line-height($h1-font-size);
}
@if $normalize-vertical-rhythm {
/* Set 1 unit of vertical rhythm on the top and bottom margins. */
@include normalize-margin(1 0, $h1-font-size);
}
@else {
margin: 0.67em 0;
}
}
@if $normalize-vertical-rhythm {
h2 {
@include normalize-font-size($h2-font-size);
@include normalize-line-height($h2-font-size);
@include normalize-margin(1 0, $h2-font-size);
}
h3 {
@include normalize-font-size($h3-font-size);
@include normalize-line-height($h3-font-size);
@include normalize-margin(1 0, $h3-font-size);
}
h4 {
@include normalize-font-size($h4-font-size);
@include normalize-line-height($h4-font-size);
@include normalize-margin(1 0, $h4-font-size);
}
h5 {
@include normalize-font-size($h5-font-size);
@include normalize-line-height($h5-font-size);
@include normalize-margin(1 0, $h5-font-size);
}
h6 {
@include normalize-font-size($h6-font-size);
@include normalize-line-height($h6-font-size);
@include normalize-margin(1 0, $h6-font-size);
}
}
}
@if _normalize-include(grouping) {
/* Grouping content
========================================================================== */
@if $normalize-vertical-rhythm {
/**
* Set 1 unit of vertical rhythm on the top and bottom margin.
*/
blockquote {
@include normalize-margin(1 $indent-amount);
}
dl,
ol,
ul {
@include normalize-margin(1 0);
}
/**
* Turn off margins on nested lists.
*/
ol,
ul {
ol,
ul {
margin: 0;
}
}
dd {
margin: 0 0 0 $indent-amount;
}
ol,
ul {
padding: 0 0 0 $indent-amount;
}
}
/**
* Add the correct display in IE 9-.
*/
figcaption,
figure {
display: block;
}
/**
* Add the correct margin in IE 8.
*/
figure {
@if $normalize-vertical-rhythm {
@include normalize-margin(1 $indent-amount);
}
@else {
margin: 1em $indent-amount;
}
}
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
box-sizing: content-box; /* 1 */
height: 0; /* 1 */
overflow: visible; /* 2 */
}
/**
* Add the correct display in IE.
*/
main {
display: block;
}
@if $normalize-vertical-rhythm {
/**
* Set 1 unit of vertical rhythm on the top and bottom margin.
*/
p,
pre {
@include normalize-margin(1 0);
}
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
pre {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
}
@if _normalize-include(links) {
/* Links
========================================================================== */
/**
* 1. Remove the gray background on active links in IE 10.
* 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
*/
a {
background-color: transparent; /* 1 */
-webkit-text-decoration-skip: objects; /* 2 */
}
}
@if _normalize-include(text) {
/* Text-level semantics
========================================================================== */
/**
* 1. Remove the bottom border in Chrome 57- and Firefox 39-.
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
border-bottom: none; /* 1 */
text-decoration: underline; /* 2 */
text-decoration: underline dotted; /* 2 */
}
/**
* Prevent the duplicate application of `bolder` by the next rule in Safari 6.
*/
b,
strong {
font-weight: inherit;
}
/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
font-weight: bolder;
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/**
* Add the correct font style in Android 4.3-.
*/
dfn {
font-style: italic;
}
/**
* Add the correct background and color in IE 9-.
*/
mark {
background-color: #ff0;
color: #000;
}
/**
* Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
}
@if _normalize-include(embedded) {
/* Embedded content
========================================================================== */
/**
* Add the correct display in IE 9-.
*/
audio,
video {
display: inline-block;
}
/**
* Add the correct display in iOS 4-7.
*/
audio:not([controls]) {
display: none;
height: 0;
}
/**
* Remove the border on images inside links in IE 10-.
*/
img {
border-style: none;
}
/**
* Hide the overflow in IE.
*/
svg:not(:root) {
overflow: hidden;
}
}
@if _normalize-include(forms) {
/* Forms
========================================================================== */
/**
* 1. Change the font styles in all browsers (opinionated).
* 2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
font-family: if($base-font-family, $base-font-family, sans-serif); /* 1 */
font-size: 100%; /* 1 */
@if $normalize-vertical-rhythm {
line-height: ($base-line-height / $base-font-size) * 1em; /* 1 */
}
@else {
line-height: 1.15; /* 1 */
}
margin: 0; /* 2 */
}
/**
* Show the overflow in IE.
*/
button {
overflow: visible;
}
/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select { /* 1 */
text-transform: none;
}
/**
* 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
* controls in Android 4.
* 2. Correct the inability to style clickable types in iOS and Safari.
*/
button,
html [type="button"], /* 1 */
[type="reset"],
[type="submit"] {
-webkit-appearance: button; /* 2 */
}
button,
[type="button"],
[type="reset"],
[type="submit"] {
/**
* Remove the inner border and padding in Firefox.
*/
&::-moz-focus-inner {
border-style: none;
padding: 0;
}
/**
* Restore the focus styles unset by the previous rule.
*/
&:-moz-focusring {
outline: 1px dotted ButtonText;
}
}
/**
* Show the overflow in Edge.
*/
input {
overflow: visible;
}
/**
* 1. Add the correct box sizing in IE 10-.
* 2. Remove the padding in IE 10-.
*/
[type="checkbox"],
[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type="search"] {
-webkit-appearance: textfield; /* 1 */
outline-offset: -2px; /* 2 */
/**
* Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
*/
&::-webkit-search-cancel-button,
&::-webkit-search-decoration {
-webkit-appearance: none;
}
}
/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button; /* 1 */
font: inherit; /* 2 */
}
/**
* Correct the padding in Firefox.
*/
fieldset {
padding: 0.35em 0.75em 0.625em;
}
/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
* `fieldset` elements in all browsers.
*/
legend {
box-sizing: border-box; /* 1 */
display: table; /* 1 */
max-width: 100%; /* 1 */
padding: 0; /* 3 */
color: inherit; /* 2 */
white-space: normal; /* 1 */
}
/**
* 1. Add the correct display in IE 9-.
* 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
display: inline-block; /* 1 */
vertical-align: baseline; /* 2 */
}
/**
* Remove the default vertical scrollbar in IE.
*/
textarea {
overflow: auto;
}
}
@if _normalize-include(interactive) {
/* Interactive
========================================================================== */
/*
* Add the correct display in Edge, IE, and Firefox.
*/
details {
display: block;
}
/*
* Add the correct display in all browsers.
*/
summary {
display: list-item;
}
/*
* Add the correct display in IE 9-.
*/
menu {
display: block;
@if $normalize-vertical-rhythm {
/*
* 1. Set 1 unit of vertical rhythm on the top and bottom margin.
* 2. Set consistent space for the list style image.
*/
@include normalize-margin(1 0); /* 1 */
padding: 0 0 0 $indent-amount; /* 2 */
/**
* Turn off margins on nested lists.
*/
menu &,
ol &,
ul & {
margin: 0;
}
}
}
}
@if _normalize-include(scripting) {
/* Scripting
========================================================================== */
/**
* Add the correct display in IE 9-.
*/
canvas {
display: inline-block;
}
/**
* Add the correct display in IE.
*/
template {
display: none;
}
}
@if _normalize-include(hidden) {
/* Hidden
========================================================================== */
/**
* Add the correct display in IE 10-.
*/
[hidden] {
display: none;
}
}
}

View File

@@ -0,0 +1,36 @@
//
// Variables
//
// You can override the default values by setting the variables in your Sass
// before importing the normalize-scss library.
// The font size set on the root html element.
$base-font-size: 16px !default;
// The base line height determines the basic unit of vertical rhythm.
$base-line-height: 24px !default;
// The length unit in which to output vertical rhythm values.
// Supported values: px, em, rem.
$base-unit: 'em' !default;
// The default font family.
$base-font-family: null !default;
// The font sizes for h1-h6.
$h1-font-size: 2 * $base-font-size !default;
$h2-font-size: 1.5 * $base-font-size !default;
$h3-font-size: 1.17 * $base-font-size !default;
$h4-font-size: 1 * $base-font-size !default;
$h5-font-size: 0.83 * $base-font-size !default;
$h6-font-size: 0.67 * $base-font-size !default;
// The amount lists and blockquotes are indented.
$indent-amount: 40px !default;
// The following variable controls whether normalize-scss will output
// font-sizes, line-heights and block-level top/bottom margins that form a basic
// vertical rhythm on the page, which differs from the original Normalize.css.
// However, changing any of the variables above will cause
// $normalize-vertical-rhythm to be automatically set to true.
$normalize-vertical-rhythm: false !default;

View File

@@ -0,0 +1,61 @@
//
// Vertical Rhythm
//
// This is the minimal amount of code needed to create vertical rhythm in our
// CSS. If you are looking for a robust solution, look at the excellent Typey
// library. @see https://github.com/jptaranto/typey
@function normalize-rhythm($value, $relative-to: $base-font-size, $unit: $base-unit) {
@if unit($value) != px {
@error "The normalize vertical-rhythm module only supports px inputs. The typey library is better.";
}
@if $unit == rem {
@return ($value / $base-font-size) * 1rem;
}
@else if $unit == em {
@return ($value / $relative-to) * 1em;
}
@else { // $unit == px
@return $value;
}
}
@mixin normalize-font-size($value, $relative-to: $base-font-size) {
@if unit($value) != 'px' {
@error "normalize-font-size() only supports px inputs. The typey library is better.";
}
font-size: normalize-rhythm($value, $relative-to);
}
@mixin normalize-rhythm($property, $values, $relative-to: $base-font-size) {
$value-list: $values;
$sep: space;
@if type-of($values) == 'list' {
$sep: list-separator($values);
}
@else {
$value-list: append((), $values);
}
$normalized-values: ();
@each $value in $value-list {
@if unitless($value) and $value != 0 {
$value: $value * normalize-rhythm($base-line-height, $relative-to);
}
$normalized-values: append($normalized-values, $value, $sep);
}
#{$property}: $normalized-values;
}
@mixin normalize-margin($values, $relative-to: $base-font-size) {
@include normalize-rhythm(margin, $values, $relative-to);
}
@mixin normalize-line-height($font-size, $min-line-padding: 2px) {
$lines: ceil($font-size / $base-line-height);
// If lines are cramped include some extra leading.
@if ($lines * $base-line-height - $font-size) < ($min-line-padding * 2) {
$lines: $lines + 1;
}
@include normalize-rhythm(line-height, $lines, $font-size);
}

View File

@@ -1,9 +1,10 @@
baseurl = "http://www.example.com"
title = "johndoe"
theme = "coder"
theme = "hugo-coder"
languagecode = "en"
defaultcontentlanguage = "en"
paginate = 20
canonifyurls = true
@@ -19,25 +20,117 @@ disqusShortname = "yourdiscussshortname"
description = "John Doe's personal website"
keywords = "blog,developer,personal"
info = "Full Stack DevOps and Magician"
avatarurl = "images/avatar.jpg"
footercontent = "Enter a text here."
dateformat = "January 2, 2006"
hideCredits = false
hideCopyright = false
# Git Commit in Footer, uncomment the line below to enable it.
commit = "https://github.com/luizdepra/hugo-coder/tree/"
rtl = false
# Use inverted colors
inverted = false
# Series see also post count
maxSeeAlsoItems = 5
# Custom CSS
custom_css = []
# Custom JS
custom_js = []
[taxonomies]
category = "categories"
series = "series"
tag = "tags"
[[params.social]]
name = "Github"
icon = "fab fa-github"
weight = 1
url = "https://github.com/johndoe/"
[[params.social]]
name = "Twitter"
name = "Gitlab"
icon = "fab fa-gitlab"
weight = 2
url = "https://gitlab.com/johndoe/"
[[params.social]]
name = "Twitter"
icon = "fab fa-twitter"
weight = 3
url = "https://twitter.com/johndoe/"
[[params.social]]
name = "LinkedIn"
weight = 3
icon = "fab fa-linkedin"
weight = 4
url = "https://www.linkedin.com/in/johndoe/"
[[params.social]]
name = "Medium"
icon = "fab fa-medium"
weight = 5
url = "https://medium.com/@johndoe"
[[menu.main]]
name = "Blog"
weight = 1
url = "/posts/"
[[menu.main]]
name = "About"
weight = 2
url = "/about/"
[languages]
[languages.en]
languagename = "English"
[[languages.en.menu.main]]
name = "About"
weight = 1
url = "about/"
[[languages.en.menu.main]]
name = "Blog"
weight = 2
url = "posts/"
[[languages.en.menu.main]]
name = "Projects"
weight = 3
url = "projects/"
[[languages.en.menu.main]]
name = "Contact me"
weight = 5
url = "contact/"
[languages.pt-br]
languagename = "Português"
title = "João Ninguém"
[languages.pt-br.params]
author = "João Ninguém"
info = "Full Stack DevOps e Mágico"
description = "Sítio pessoal de João Ninguém"
keywords = "blog,desenvolvedor,pessoal"
footercontent = "Coloque algum texto aqui."
[languages.pt-br.menu]
[[languages.pt-br.menu.main]]
name = "Sobre"
weight = 1
url = "about/"
[[languages.pt-br.menu.main]]
name = "Blog"
weight = 2
url = "posts/"
[[languages.pt-br.menu.main]]
name = "Projetos"
weight = 3
url = "projects/"
[[languages.pt-br.menu.main]]
name = "Contato"
weight = 5
url = "contact/"

View File

@@ -0,0 +1,6 @@
+++
title = "Sobre Hugo"
slug = "about"
+++
Em construção... Aguarde!

View File

@@ -0,0 +1,6 @@
+++
title = "Contact"
slug = "contact"
+++
Follow me, @johndoe.

View File

@@ -0,0 +1,6 @@
+++
title = "Contato"
slug = "contact"
+++
Me siga em @joaoninguem.

View File

@@ -4,6 +4,7 @@ title = "Creating a New Theme"
slug = "creating-a-new-theme"
tags = []
categories = []
series = ["Theme", "Hugo"]
+++
## Introduction

View File

@@ -0,0 +1,9 @@
+++
date = "2018-12-31"
title = "Dummy"
slug = "dummy"
tags = ["hugo", "i18n"]
categories = ["blog"]
+++
Nada para ver aqui!

View File

@@ -0,0 +1,15 @@
+++
date = "2019-01-17"
title = "Hugo coder wiki"
slug = "hugo-coder-wiki"
tags = [
"hugo",
"development",
"themes"
]
categories = [
"Development",
]
externalLink = "https://github.com/luizdepra/hugo-coder/wiki"
series = ["Hugo"]
+++

View File

@@ -13,6 +13,7 @@ categories = [
"Development",
"golang",
]
series = ["Getting Started", "Hugo"]
+++
Hugo uses the excellent [go][] [html/template][gohtmltemplate] library for

View File

@@ -11,6 +11,7 @@ categories = [
"Development",
"golang",
]
series = ["Getting Started", "Hugo"]
+++
## Step 1. Install Hugo

View File

@@ -1,8 +1,25 @@
+++
date = "2014-03-10"
title = "Migrate to Hugo from Jekyll"
description = "The post explains how to migrate from from Jekyll to Hugo."
series = ["Getting Started", "Hugo"]
+++
Table of Contents
=================
1. [Move static content to `static`](#move-static-content-to-static)
2. [Create your Hugo configuration file](#create-your-hugo-configuration-file)
3. [Set your configuration publish folder to `site`](#set-your-configuration-publish-folder-to-site)
4. [Convert Jekyll templates to Hugo templates](#convert-jekyll-templates-to-hugo-templates)
5. [Convert Jekyll plugins to Hugo shortcodes](#convert-jekyll-plugins-to-hugo-shortcodes)
* [Implementation](#implementation)
* [Usage](#usage)
6. [Finishing Touches](#finishing-touches)
* [Fix Content](#fix-content)
* [Clean Up](#clean-up)
7. [A practical example in a diff](#a-practical-example-in-a-diff)
## Move static content to `static`
Jekyll has a rule that any directory not starting with `_` will be copied as-is to the `_site` output. Hugo keeps all static content under `static`. You should therefore move it all there.
With Jekyll, something that looked like

View File

@@ -0,0 +1,36 @@
+++
date = "2019-03-20"
title = "Render LaTeX using KaTeX"
description = "Katex support demo"
katex = "true"
series = ["Theme", "Hugo"]
+++
Enable katex by adding `katex = "true"` to the [front matter](https://gohugo.io/content-management/front-matter/)
```toml
+++
katex = "true"
+++
```
It's almost a dropin alternative to the mathjax solution,you should just choose one of them.
Inline math looks like this
```tex
This is text with inline math $\sum_{n=1}^{\infty} 2^{-n} = 1$
```
This is text with inline math $\sum_{n=1}^{\infty} 2^{-n} = 1$
and with math blocks:
```tex
$$
\sum_{n=1}^{\infty} 2^{-n} = 1
$$
```
$$
\sum_{n=1}^{\infty} 2^{-n} = 1
$$

View File

@@ -1,8 +1,10 @@
+++
date = "2017-01-08"
title = "Theme Demo"
description = "The post demonstrates features of the coder theme."
images = ["/images/N90.jpg"]
math = "true"
series = ["Theme", "Hugo"]
+++
## Style Demo
@@ -72,3 +74,7 @@ var foo = function (bar) {
console.log(foo(5));
```
## Hugo shortcode for figure
{{< figure src="/images/N90.jpg" caption="N90 nebula, \"New stars shed light on the past\" by ESA/Hubble" >}}

View File

@@ -0,0 +1,6 @@
+++
title = "Projects"
slug = "projects"
+++
Nothing to see here... Move along!

View File

@@ -0,0 +1,6 @@
+++
title = "Projetos"
slug = "projects"
+++
Em construção... Aguarde!

Binary file not shown.

After

Width:  |  Height:  |  Size: 406 KiB

24
i18n/de.toml Normal file
View File

@@ -0,0 +1,24 @@
[category]
other = "Kategorie"
[tag]
other = "Tag"
[series]
other = "Serie"
[reading_time]
one = "Eine Minute Lesezeit"
other = "{{ .Count }} Minuten Lesezeit"
[page_not_found]
other = "Seite nicht gefunden"
[page_does_not_exist]
other = "Tut mir Leid, die Seite existiert leider nicht."
[head_back]
other = "Du kannst hier zurück zur <a href=\"{{ . }}\">Startseite</a>."
[powered_by]
other = "Gestaltet mit"

24
i18n/en.toml Normal file
View File

@@ -0,0 +1,24 @@
[category]
other = "category"
[tag]
other = "tag"
[series]
other = "series"
[reading_time]
one = "One minute read"
other = "{{ .Count }} minutes read"
[page_not_found]
other = "Page Not Found"
[page_does_not_exist]
other = "Sorry, this page does not exist."
[head_back]
other = "You can head back to <a href=\"{{ . }}\">homepage</a>."
[powered_by]
other = "Powered by"

24
i18n/es.toml Normal file
View File

@@ -0,0 +1,24 @@
[category]
other = "categoría"
[tag]
other = "tag"
[series]
other = "serie"
[reading_time]
one = "Un minuto de leer"
other = "{{ .Count }} minutos de leer"
[page_not_found]
other = "Pagina no existe"
[page_does_not_exist]
other = "Disculpa, aquí no hay nada."
[head_back]
other = "Puedes regresar a la <a href=\"{{ . }}\">primera pagina</a>."
[powered_by]
other = "Promovido por"

25
i18n/fr.toml Normal file
View File

@@ -0,0 +1,25 @@
[category]
other = "catégorie"
[tag]
other = "tag"
[series]
other = "séries"
[reading_time]
one = "Une minude de lecture"
other = "{{ .Count }} minutes de lecture"
[page_not_found]
other = "Page Non Trouvée"
[page_does_not_exist]
other = "Désolé, cette page n'existe pas."
[head_back]
other = "Vous pouvez revenir à <a href=\"{{ . }}\">l'accueil</a>."
[powered_by]
other = "Propulsé par"

24
i18n/pt-br.toml Normal file
View File

@@ -0,0 +1,24 @@
[category]
other = "categoria"
[tag]
other = "tag"
[series]
other = "séries"
[reading_time]
one = "Um minuto de leitura"
other = "{{ .Count }} minutos de leitura"
[page_not_found]
other = "Página Não Encontrada"
[page_does_not_exist]
other = "Desculpe, essa página não existe."
[head_back]
other = "Você pode voltar para a <a href=\"{{ . }}\">página inicial</a>."
[powered_by]
other = "Promovido por"

24
i18n/zh-cn.toml Normal file
View File

@@ -0,0 +1,24 @@
[category]
other = "分类"
[tag]
other = "标签"
[series]
other = "系列"
[reading_time]
one = "1分钟阅读时间"
other = "{{ .Count }} 分钟阅读时间"
[page_not_found]
other = "找不到页面"
[page_does_not_exist]
other = "此页面不存在"
[head_back]
other = "返回 <a href=\"{{ . }}\">主页面</a>."
[powered_by]
other = "技术支持"

BIN
images/logos/favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 559 B

13
images/logos/favicon.svg Normal file
View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="32px" height="32px" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve">
<g>
<rect x="4.686" y="4.686" transform="matrix(0.7071 0.7071 -0.7071 0.7071 16 -6.6274)" fill="#000000" width="22.627" height="22.627"/>
<polygon fill="#FFFFFF" points="29.403,16 21.874,23.529 21.874,20.472 26.346,16 21.874,11.528 21.874,8.471 "/>
<polygon fill="#FFFFFF" points="19.811,9.464 19.811,14.71 12.166,14.71 12.166,9.488 16,5.654 "/>
<polygon fill="#FFFFFF" points="19.811,16.492 19.811,22.535 16,26.346 12.166,22.512 12.166,16.492 "/>
<polygon fill="#FFFFFF" points="10.126,11.528 5.654,16 10.126,20.472 10.126,23.529 2.597,16 10.126,8.471 "/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
images/logos/logomark.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="1000px" height="1000px" viewBox="0 0 1000 1000" enable-background="new 0 0 1000 1000" xml:space="preserve">
<path d="M500,167.46L167.46,500L500,832.54L832.54,500L500,167.46z M500,712.33l-78.95-78.95V518.41h157.91v114.96L500,712.33z
M578.96,481.59H421.05V366.62L500,287.67l78.96,78.96V481.59z M378.91,345.12v63.64L287.67,500l91.24,91.24v63.64L224.029,500
L378.91,345.12z M621.59,590.74L712.33,500l-90.74-90.74v-63.64L775.97,500L621.59,654.38V590.74z"/>
</svg>

After

Width:  |  Height:  |  Size: 830 B

BIN
images/logos/logotype-a.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="1000px" height="1000px" viewBox="0 0 1000 1000" enable-background="new 0 0 1000 1000" xml:space="preserve">
<path d="M163.797,388.66L52.457,500l111.34,111.34L275.137,500L163.797,388.66z M123.254,469.451L92.705,500l30.549,30.549v21.308
L71.396,500l51.857-51.856V469.451z M190.234,544.654l-26.438,26.438l-26.436-26.435v-38.493h52.873V544.654z M190.234,493.836
h-52.873v-38.493l26.436-26.435l26.438,26.438V493.836z M204.506,530.381L234.889,500l-30.383-30.381v-21.308L256.197,500
l-51.691,51.689V530.381z"/>
<g>
<g>
<path d="M321.498,458.552v28.811h30.41v-28.811h13.125v71.919h-13.125v-31.691h-30.41v31.691h-13.125v-71.919H321.498z"/>
<path d="M393.096,458.552v41.935c0,14.085,5.869,20.595,14.727,20.595c9.496,0,15.152-6.51,15.152-20.595v-41.935h13.123v41.081
c0,22.194-11.416,32.012-28.703,32.012c-16.646,0-27.422-9.283-27.422-31.905v-41.188H393.096z"/>
<path d="M508.766,527.163c-4.588,1.707-13.551,4.055-23.154,4.055c-12.166,0-21.342-3.095-28.17-9.604
c-6.402-6.082-10.139-15.579-10.031-26.463c0-22.729,16.219-37.347,40.016-37.347c8.855,0,15.791,1.813,19.1,3.415l-2.881,10.563
c-3.947-1.708-8.75-3.095-16.326-3.095c-15.365,0-26.143,9.07-26.143,25.822c0,16.326,10.029,26.036,24.969,26.036
c4.695,0,8.217-0.64,9.924-1.493v-17.927h-12.697v-10.351h25.395V527.163z"/>
<path d="M586.021,493.765c0,24.115-14.619,37.88-34.467,37.88c-20.273,0-33.078-15.473-33.078-36.6
c0-22.088,13.871-37.667,34.146-37.667C573.643,457.378,586.021,473.276,586.021,493.765z M532.348,494.831
c0,14.619,7.363,26.25,19.955,26.25c12.697,0,19.846-11.738,19.846-26.783c0-13.552-6.723-26.355-19.846-26.355
C539.283,467.942,532.348,479.999,532.348,494.831z"/>
<path d="M621.555,497.499v9.07h-27.211v-9.07H621.555z"/>
<path d="M685.254,528.337c-3.094,1.601-9.924,3.201-18.566,3.201c-22.834,0-36.705-14.299-36.705-36.174
c0-23.688,16.432-37.986,38.412-37.986c8.645,0,14.832,1.814,17.5,3.201l-2.881,10.457c-3.414-1.494-8.109-2.774-14.084-2.774
c-14.619,0-25.184,9.177-25.184,26.463c0,15.792,9.283,25.93,25.076,25.93c5.336,0,10.883-1.067,14.299-2.668L685.254,528.337z"/>
<path d="M757.498,493.765c0,24.115-14.619,37.88-34.467,37.88c-20.273,0-33.078-15.473-33.078-36.6
c0-22.088,13.871-37.667,34.146-37.667C745.119,457.378,757.498,473.276,757.498,493.765z M703.824,494.831
c0,14.619,7.363,26.25,19.955,26.25c12.697,0,19.846-11.738,19.846-26.783c0-13.552-6.723-26.355-19.846-26.355
C710.76,467.942,703.824,479.999,703.824,494.831z"/>
<path d="M768.809,459.513c5.762-0.961,13.125-1.494,20.914-1.494c13.445,0,22.729,2.773,29.344,8.322
c6.936,5.656,11.205,14.191,11.205,26.463c0,12.805-4.375,22.408-11.205,28.597c-7.148,6.51-18.566,9.817-32.545,9.817
c-7.682,0-13.445-0.427-17.713-0.961V459.513z M781.934,520.44c1.814,0.32,4.588,0.32,7.256,0.32
c17.072,0.106,27.209-9.283,27.209-27.529c0.107-15.9-9.068-24.97-25.502-24.97c-4.162,0-7.148,0.32-8.963,0.747V520.44z"/>
<path d="M881.918,498.565h-27.102v21.128h30.303v10.777h-43.428v-71.919h41.828v10.777h-28.703v18.566h27.102V498.565z"/>
<path d="M896.645,459.513c4.908-0.854,12.271-1.494,19.848-1.494c10.35,0,17.393,1.707,22.195,5.762
c3.947,3.308,6.188,8.322,6.188,14.405c0,9.283-6.295,15.579-13.018,18.032v0.32c5.121,1.922,8.217,6.937,10.029,13.872
c2.242,8.963,4.162,17.286,5.656,20.061h-13.551c-1.068-2.134-2.775-8.003-4.803-16.966c-2.027-9.391-5.441-12.378-12.91-12.592
h-6.617v29.558h-13.018V459.513z M909.662,491.31h7.791c8.855,0,14.404-4.694,14.404-11.844c0-7.896-5.549-11.523-14.086-11.523
c-4.16,0-6.828,0.319-8.109,0.64V491.31z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

BIN
images/logos/logotype-b.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="1000px" height="1000px" viewBox="0 0 1000 1000" enable-background="new 0 0 1000 1000" xml:space="preserve">
<path d="M500,209.999L285.653,424.347L500,638.692l214.347-214.346L500,209.999z M500,561.208l-50.89-50.889v-74.105h101.785v74.1
L500,561.208z M550.896,412.479H449.11v-74.105L500,287.483l50.896,50.896V412.479z M421.948,324.515v41.021l-58.811,58.811
l58.811,58.811v41.021l-99.832-99.832L421.948,324.515z M578.374,482.835l58.488-58.488l-58.488-58.488v-41.021l99.509,99.51
l-99.509,99.51V482.835z"/>
<g>
<g>
<path d="M160.496,709.028v31.916h33.688v-31.916h14.542v79.674h-14.542v-35.109h-33.688v35.109h-14.541v-79.674H160.496z"/>
<path d="M239.816,709.028v46.455c0,15.605,6.501,22.818,16.313,22.818c10.521,0,16.786-7.213,16.786-22.818v-46.455h14.537v45.512
c0,24.586-12.646,35.461-31.797,35.461c-18.442,0-30.379-10.281-30.379-35.344v-45.629H239.816z"/>
<path d="M367.957,785.036c-5.081,1.893-15.012,4.494-25.651,4.494c-13.477,0-23.643-3.43-31.206-10.639
c-7.093-6.738-11.233-17.26-11.113-29.318c0-25.178,17.968-41.373,44.328-41.373c9.813,0,17.495,2.012,21.161,3.783l-3.191,11.703
c-4.376-1.891-9.693-3.43-18.088-3.43c-17.021,0-28.96,10.051-28.96,28.607c0,18.088,11.109,28.844,27.661,28.844
c5.2,0,9.1-0.709,10.992-1.654v-19.861h-14.066v-11.467h28.134V785.036z"/>
<path d="M453.54,748.038c0,26.717-16.194,41.963-38.179,41.963c-22.463,0-36.646-17.139-36.646-40.547
c0-24.467,15.366-41.725,37.827-41.725C439.828,707.729,453.54,725.343,453.54,748.038z M394.082,749.22
c0,16.195,8.154,29.082,22.105,29.082c14.064,0,21.987-13.008,21.987-29.672c0-15.016-7.448-29.199-21.987-29.199
C401.765,719.431,394.082,732.79,394.082,749.22z"/>
<path d="M492.905,752.175v10.047h-30.144v-10.047H492.905z"/>
<path d="M563.474,786.339c-3.429,1.773-10.992,3.547-20.565,3.547c-25.301,0-40.666-15.844-40.666-40.076
c0-26.24,18.203-42.08,42.557-42.08c9.571,0,16.43,2.008,19.387,3.545l-3.192,11.584c-3.785-1.654-8.985-3.074-15.604-3.074
c-16.197,0-27.896,10.168-27.896,29.316c0,17.496,10.283,28.727,27.776,28.727c5.914,0,12.061-1.184,15.841-2.957L563.474,786.339
z"/>
<path d="M643.507,748.038c0,26.717-16.196,41.963-38.182,41.963c-22.461,0-36.644-17.139-36.644-40.547
c0-24.467,15.366-41.725,37.827-41.725C629.795,707.729,643.507,725.343,643.507,748.038z M584.048,749.22
c0,16.195,8.155,29.082,22.104,29.082c14.066,0,21.986-13.008,21.986-29.672c0-15.016-7.447-29.199-21.986-29.199
C591.73,719.431,584.048,732.79,584.048,749.22z"/>
<path d="M656.039,710.091c6.382-1.063,14.539-1.652,23.17-1.652c14.892,0,25.179,3.072,32.505,9.221
c7.685,6.264,12.413,15.721,12.413,29.313c0,14.188-4.848,24.826-12.413,31.68c-7.92,7.213-20.565,10.879-36.054,10.879
c-8.512,0-14.893-0.475-19.621-1.068V710.091z M670.578,777.589c2.008,0.357,5.082,0.357,8.039,0.357
c18.912,0.115,30.143-10.285,30.143-30.5c0.119-17.613-10.049-27.662-28.252-27.662c-4.61,0-7.922,0.355-9.93,0.828V777.589z"/>
<path d="M781.344,753.356H751.32v23.406h33.57v11.939h-48.113v-79.674h46.338v11.938H751.32v20.57h30.023V753.356z"/>
<path d="M797.658,710.091c5.438-0.943,13.593-1.652,21.986-1.652c11.467,0,19.268,1.889,24.588,6.383
c4.373,3.662,6.857,9.219,6.857,15.959c0,10.281-6.978,17.258-14.422,19.977v0.354c5.673,2.129,9.102,7.686,11.11,15.367
c2.482,9.932,4.61,19.152,6.267,22.225h-15.014c-1.182-2.363-3.072-8.867-5.319-18.797c-2.245-10.402-6.029-13.713-14.304-13.947
h-7.328v32.744h-14.422V710.091z M812.08,745.317h8.629c9.811,0,15.959-5.199,15.959-13.121c0-8.748-6.148-12.766-15.604-12.766
c-4.61,0-7.567,0.354-8.983,0.709V745.317z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 37 KiB

View File

@@ -1,5 +1,5 @@
<!DOCTYPE html>
<html lang="{{ .Site.LanguageCode }}">
<html lang="{{ .Site.Language.Lang }}">
<head>
<meta charset="utf-8">
@@ -9,27 +9,71 @@
{{ with .Site.Params.description }}<meta name="description" content="{{ . }}">{{ end }}
{{ with .Site.Params.keywords }}<meta name="keywords" content="{{ . }}">{{ end }}
<base href="{{ .Site.BaseURL }}">
{{ template "_internal/twitter_cards.html" . }}
{{ template "_internal/opengraph.html" . }}
{{ if .Permalink }}
<base href="{{ .Permalink }}">
{{ end }}
<title>{{ block "title" . }}{{ .Site.Title }}{{ end }}</title>
<link rel="canonical" href="{{ .Permalink }}">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Fira+Mono:400,700">
<link rel="stylesheet" href="https://cdn.rawgit.com/necolas/normalize.css/master/normalize.css">
<link rel="stylesheet" href="{{ "css/style.min.css" | absURL }}">
<link rel="icon" type="image/png" href="{{ "/images/favicon-32x32.png" | absURL }}" sizes="32x32">
<link rel="icon" type="image/png" href="{{ "/images/favicon-16x16.png" | absURL }}" sizes="16x16">
{{ if .RSSLink }}
<link href="{{ .RSSLink }}" rel="alternate" type="application/rss+xml" title="{{ .Site.Title }}" />
<link href="{{ .RSSLink }}" rel="feed" type="application/rss+xml" title="{{ .Site.Title }}" />
{{ if .Permalink }}
<link rel="canonical" href="{{ .Permalink }}">
{{ end }}
{{ .Hugo.Generator }}
{{ if .Site.IsServer }}
{{ $cssOpts := (dict "targetPath" "css/coder.css" "enableSourceMap" true ) }}
{{ $styles := resources.Get "scss/coder.scss" | resources.ExecuteAsTemplate "style.coder.css" . | toCSS $cssOpts }}
<link rel="stylesheet" href="{{ $styles.RelPermalink }}" media="screen">
{{ else }}
{{ $cssOpts := (dict "targetPath" "css/coder.css" ) }}
{{ $styles := resources.Get "scss/coder.scss" | resources.ExecuteAsTemplate "style.coder.css" . | toCSS $cssOpts | minify | fingerprint }}
<link rel="stylesheet" href="{{ $styles.RelPermalink }}" integrity="{{ $styles.Data.Integrity }}" crossorigin="anonymous" media="screen" />
{{ end }}
{{ if .Site.Params.rtl }}
{{ if .Site.IsServer }}
{{ $cssOpts := (dict "targetPath" "css/coder-rtl.css" "enableSourceMap" true ) }}
{{ $styles := resources.Get "scss/coder-rtl.scss" | resources.ExecuteAsTemplate "style.coder-rtl.css" . | toCSS $cssOpts }}
<link rel="stylesheet" href="{{ $styles.RelPermalink }}" media="screen">
{{ else }}
{{ $cssOpts := (dict "targetPath" "css/coder-rtl.css" ) }}
{{ $styles := resources.Get "scss/coder-rtl.scss" | resources.ExecuteAsTemplate "style.coder-rtl.css" . | toCSS $cssOpts | minify | fingerprint }}
<link rel="stylesheet" href="{{ $styles.RelPermalink }}" integrity="{{ $styles.Data.Integrity }}" crossorigin="anonymous" media="screen" />
{{ end }}
{{ end }}
{{ if .Site.Params.inverted }}
{{ if .Site.IsServer }}
{{ $cssOpts := (dict "targetPath" "css/coder-inverted.css" "enableSourceMap" true ) }}
{{ $styles := resources.Get "scss/coder-inverted.scss" | resources.ExecuteAsTemplate "style.coder-inverted.css" . | toCSS $cssOpts }}
<link rel="stylesheet" href="{{ $styles.RelPermalink }}" media="screen">
{{ else }}
{{ $cssOpts := (dict "targetPath" "css/coder-inverted.css" ) }}
{{ $styles := resources.Get "scss/coder-inverted.scss" | resources.ExecuteAsTemplate "style.coder-inverted.css" . | toCSS $cssOpts | minify | fingerprint }}
<link rel="stylesheet" href="{{ $styles.RelPermalink }}" integrity="{{ $styles.Data.Integrity }}" crossorigin="anonymous" media="screen" />
{{ end }}
{{ end }}
{{ range .Site.Params.custom_css }}
<link rel="stylesheet" href="{{ . | relURL }}" />
{{ end }}
{{ range .Site.Params.custom_js }}
<script src="{{ . | relURL }}"></script>
{{ end }}
<link rel="icon" type="image/png" href="{{ .Site.Params.favicon_32 | default "/images/favicon-32x32.png" | absURL }}" sizes="32x32">
<link rel="icon" type="image/png" href="{{ .Site.Params.favicon_16 | default "/images/favicon-16x16.png" | absURL }}" sizes="16x16">
{{ range .AlternativeOutputFormats -}}
{{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }}
{{ end -}}
{{ hugo.Generator }}
</head>
<body>
<body class="{{ if .Site.Params.rtl }}rtl{{ end }} {{ if .Site.Params.inverted }}inverted{{ end }}">
<main class="wrapper">
{{ partial "header.html" . }}

View File

@@ -1,5 +1,10 @@
{{ define "title" }}
{{ .Title }} · {{ .Site.Title }}
{{- if eq .Kind "taxonomy" -}}
{{- i18n .Data.Singular | title -}}
{{- print ": " -}}
{{- end -}}
{{- .Title }} · {{ .Site.Title -}}
{{ end }}
{{ define "content" }}
{{ partial "list.html" . }}

View File

@@ -1,7 +1,7 @@
<section class="container centered">
<div class="error">
<h1>404</h1>
<h2>Page Not Found</h2>
<p>Sorry, this page does not exist.<br />You can head back to <a href="{{ .Site.BaseURL }}">homepage</a>.</p>
<h2>{{ i18n "page_not_found" }}</h2>
<p>{{ i18n "page_does_not_exist" }}<br />{{ i18n "head_back" .Site.BaseURL | safeHTML }}</p>
</div>
</section>

View File

@@ -1,5 +1,16 @@
<footer class="footer">
<section class="container">
© {{ .Site.LastChange.Format "2006" }} · Powered by <a href="https://gohugo.io/">Hugo</a> & <a href="https://github.com/luizdepra/hugo-coder/">Coder</a>.
{{ with .Site.Params.footercontent | safeHTML }}
<p>{{.}}</p>
{{ end }}
{{ if not .Site.Params.hideCopyright }} © {{ now.Format "2006" }}{{ end }}
{{ if not .Site.Params.hideCredits }}
{{ if not .Site.Params.hideCopyright }} · {{ end }}
{{ i18n "powered_by" }} <a href="https://gohugo.io/">Hugo</a> & <a href="https://github.com/luizdepra/hugo-coder/">Coder</a>.
{{ end }}
{{ if .Site.Params.commit }}
{{ if or (not .Site.Params.hideCredits) (not .Site.Params.hideCopyright) }} · {{ end }}
[<a href="{{ .Site.Params.commit }}{{ getenv "GIT_COMMIT_SHA" }}">{{ getenv "GIT_COMMIT_SHA_SHORT" }}</a>]
{{ end }}
</section>
</footer>

View File

@@ -1,16 +1,35 @@
<nav class="navigation">
<section class="container">
<a class="navigation-title" href="{{ "/" | absURL }}">
<a class="navigation-title" href="{{ .Site.BaseURL | relLangURL }}">
{{ .Site.Title }}
</a>
{{ with .Site.Menus.main }}
<ul class="navigation-list float-right">
{{ range sort . }}
<li class="navigation-item">
<a class="navigation-link" href="{{ .URL }}">{{ .Name }}</a>
</li>
<input type="checkbox" id="menu-toggle" />
<label class="menu-button float-right" for="menu-toggle"><i class="fas fa-bars"></i></label>
<ul class="navigation-list">
{{ with .Site.Menus.main}}
{{ range sort . }}
<li class="navigation-item">
<a class="navigation-link" href="{{ .URL | absLangURL }}">{{ .Name }}</a>
</li>
{{ end }}
{{ end }}
{{ if .Site.IsMultiLingual }}
{{ $node := . }}
{{ .Scratch.Set "separator" true }}
{{ range .Site.Home.AllTranslations }}
{{ if ne $.Site.Language .Language }}
{{ if $node.Scratch.Get "separator" }}
<li class="navigation-item menu-separator">
<span>|</span>
</li>
{{ $node.Scratch.Set "separator" false }}
{{ end }}
<li class="navigation-item">
<a href="{{ .Permalink }}">{{ .Language.LanguageName }}</a>
</li>
{{ end }}
{{ end }}
{{ end }}
</ul>
{{ end }}
</section>
</nav>

View File

@@ -1,11 +1,24 @@
<section class="container centered">
<div class="about">
{{ with .Site.Params.avatarurl }}
<div class="avatar"><img src="{{ . | relURL }}" alt="avatar"></div>
{{ end }}
<h1>{{ .Site.Params.author }}</h1>
<h2>{{ .Site.Params.info }}</h2>
{{ with .Site.Params.social }}
<ul>
{{ range sort .}}
<li><a href="{{ .url }}">{{ .name }}</a></li>
{{ if .icon }}
<li>
<a href="{{ .url }}" aria-label="{{ .name }}" {{ if .rel }}rel="{{ .rel }}"{{ end }}>
<i class="{{ .icon }}" aria-hidden="true"></i>
</a>
</li>
{{ else }}
<li>
<a href="{{ .url }}" aria-label="{{ .name }}" {{ if .rel }}rel="{{ .rel }}"{{ end }}>{{ .name }}</a>
</li>
{{ end }}
{{ end }}
</ul>
{{ end }}

View File

@@ -1,9 +1,17 @@
<section class="container list">
<h1 class="title">{{ .Title }}</h1>
<h1 class="title">
{{- if eq .Kind "taxonomy" -}}
{{- i18n .Data.Singular | title -}}
{{- print ": " -}}
{{- end -}}
{{- .Title -}}
</h1>
<ul>
{{ range .Paginator.Pages }}
<li>
<span>{{ .Date.Format "January 2, 2006" }}</span><a href="{{ .URL }}">{{ .Title }}</a>
<span class="date">{{ .Date.Format (.Site.Params.dateFormat | default "January 2, 2006" ) }}</span>
<a class="title" href="{{ .Params.ExternalLink | default .RelPermalink }}">{{ .Title }}</a>
</li>
{{ end }}
</ul>

View File

@@ -1,42 +0,0 @@
<section class="container post">
<article>
<header>
<h1 class="title">{{ .Title }}</h1>
<h2 class="date">{{ .Date.Format "January 2, 2006" }}</h2>
{{ if eq .Params.math "true" }}
<script type="text/javascript" async
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/MathJax.js?config=TeX-AMS-MML_HTMLorMML-full">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [['$','$']],
displayMath: [['$$','$$']],
processEscapes: true,
processEnvironments: true,
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
TeX: { extensions: ["AMSmath.js", "AMSsymbols.js"] }
}
});
MathJax.Hub.Queue(function() {
// Fix <code> tags after MathJax finishes running. This is a
// hack to overcome a shortcoming of Markdown. Discussion at
// https://github.com/mojombo/jekyll/issues/199
var all = MathJax.Hub.getAllJax(), i;
for(i = 0; i < all.length; i += 1) {
all[i].SourceElement().parentNode.className += ' has-jax';
}
});
</script>
{{ end }}
</header>
{{ .Content }}
</article>
<br/>
{{ if and (not (eq .Site.DisqusShortname "" )) (eq (.Params.disable_comments | default false) false)}}
{{ template "_internal/disqus.html" . }}
{{ end }}
</section>

View File

@@ -0,0 +1,4 @@
{{- if and (isset .Site.Params "commentourl") (not (eq .Site.Params.commentoUrl "" )) (eq (.Params.disable_comments | default false) false) -}}
<div id="commento"></div>
<script src="{{ .Site.Params.commentoUrl }}/js/commento.js"></script>
{{- end -}}

View File

@@ -0,0 +1,3 @@
{{- if and (not (eq (.Site.DisqusShortname | default "") "")) (eq (.Params.disable_comments | default false) false) -}}
{{ template "_internal/disqus.html" . }}
{{- end -}}

View File

@@ -0,0 +1,38 @@
{{- if .Params.math -}}
<script type="text/javascript" async
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/MathJax.js?config=TeX-AMS-MML_HTMLorMML-full">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [['$','$']],
displayMath: [['$$','$$']],
processEscapes: true,
processEnvironments: true,
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
TeX: { extensions: ["AMSmath.js", "AMSsymbols.js"] }
}
});
MathJax.Hub.Queue(function() {
// Fix <code> tags after MathJax finishes running. This is a
// hack to overcome a shortcoming of Markdown. Discussion at
// https://github.com/mojombo/jekyll/issues/199
var all = MathJax.Hub.getAllJax(), i;
for(i = 0; i < all.length; i += 1) {
all[i].SourceElement().parentNode.className += ' has-jax';
}
});
</script>
{{- end -}}
{{- if .Params.katex -}}
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.10.1/dist/katex.min.css" integrity="sha384-dbVIfZGuN1Yq7/1Ocstc1lUEm+AT+/rCkibIcC/OmWo5f0EA48Vf8CytHzGrSwbQ" crossorigin="anonymous">
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.10.1/dist/katex.min.js" integrity="sha384-2BKqo+exmr9su6dir+qCw08N2ZKRucY4PrGQPPWU1A7FtlCGjmEGFqXCv5nyM5Ij" crossorigin="anonymous"></script>
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.10.1/dist/contrib/auto-render.min.js" integrity="sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI" crossorigin="anonymous"
onload="renderMathInElement(document.body,
{
delimiters: [
{left: '$$', right: '$$', display:true},
{left: '$', right: '$', display:false},
]
}
);">
</script>
{{- end -}}

View File

@@ -0,0 +1,24 @@
{{ $currentPageUrl := .RelPermalink }}
{{ if .Params.series }}
<section class="see-also">
{{ range .Params.series }}
{{ $name := . | urlize }}
{{ $series := index $.Site.Taxonomies.series $name }}
{{ if gt (len $series.Pages) 1 }}
<h3>See also in {{ . }}</h3>
<nav>
<ul>
{{ $maxItems := $.Site.Params.maxSeeAlsoItems | default 5 }}
{{ range first (add $maxItems 1) $series.Pages }}
{{ if ne .RelPermalink $currentPageUrl }}
<li>
<a href="{{ .Params.ExternalLink | default .RelPermalink }}">{{ .Title }}</a>
</li>
{{ end }}
{{ end }}
</ul>
</nav>
{{ end }}
{{ end }}
</section>
{{ end }}

View File

@@ -0,0 +1,9 @@
{{- if and (isset .Site.Params.utteranc "repo") (not (eq .Site.Params.utteranc.repo "" )) (eq (.Params.disable_comments | default false) false) -}}
<script src="https://utteranc.es/client.js"
repo= "{{ .Site.Params.utteranc.repo }}"
issue-term="{{ default "title" .Site.Params.utteranc.issueTerm }}"
theme="{{ default "github-light" .Site.Params.utteranc.theme }}"
crossorigin="anonymous"
async>
</script>
{{- end -}}

View File

@@ -0,0 +1,9 @@
<div class="categories">
<i class="fas fa-folder"></i>
{{- range $index, $el := . -}}
{{- if gt $index 0 }}
<span class="separator"></span>
{{- end }}
<a href="{{ ( printf "categories/%s/" ( . | urlize ) ) | relLangURL }}">{{ . }}</a>
{{- end -}}
</div>

View File

@@ -0,0 +1,9 @@
<div class="tags">
<i class="fas fa-tag"></i>
{{- range $index, $el := . -}}
{{- if gt $index 0 }}
<span class="separator"></span>
{{- end }}
<a href="{{ ( printf "tags/%s/" ( . | urlize ) ) | relLangURL }}">{{ . }}</a>
{{- end -}}
</div>

4
layouts/posts/li.html Normal file
View File

@@ -0,0 +1,4 @@
<li>
<span class="date">{{ .Date.Format (.Site.Params.dateFormat | default "January 2, 2006" ) }}</span>
<a class="title" href="{{ .Params.ExternalLink | default .RelPermalink }}">{{ .Title }}</a>
</li>

16
layouts/posts/list.html Normal file
View File

@@ -0,0 +1,16 @@
{{ define "title" }}
{{ .Title }} · {{ .Site.Title }}
{{ end }}
{{ define "content" }}
<section class="container list">
<h1 class="title">{{ .Title }}</h1>
<ul>
{{- range .Paginator.Pages -}}
{{- .Render "li" -}}
{{- end -}}
</ul>
{{ partial "pagination.html" . }}
</section>
{{ end }}

View File

@@ -2,5 +2,42 @@
{{ .Title }} · {{ .Site.Title }}
{{ end }}
{{ define "content" }}
{{ partial "post.html" . }}
<section class="container post">
<article>
<header>
<div class="post-title">
<h1 class="title">{{ .Title }}</h1>
</div>
<div class="post-meta">
<div class="date">
<span class="posted-on">
<i class="fas fa-calendar"></i>
<time datetime='{{ .Date.Format "2006-01-02T15:04:05Z07:00" }}'>
{{ .Date.Format (.Site.Params.dateFormat | default "January 2, 2006" ) }}
</time>
</span>
<span class="reading-time">
<i class="fas fa-clock"></i>
{{ i18n "reading_time" .ReadingTime }}
</span>
</div>
{{ with .Page.Params.Categories }}{{ partial "taxonomy/categories.html" . }}{{ end }}
{{ with .Page.Params.Tags }}{{ partial "taxonomy/tags.html" . }}{{ end }}
</div>
</header>
<div>
{{ .Content }}
</div>
<footer>
{{ partial "posts/series.html" . }}
{{ partial "posts/disqus.html" . }}
{{ partial "posts/commento.html" . }}
{{ partial "posts/utteranc.html" . }}
</footer>
</article>
{{ partial "posts/math.html" . }}
</section>
{{ end }}

View File

@@ -1,3 +0,0 @@
<div class="section">
{{ .Inner }}
</div>

Some files were not shown because too many files have changed in this diff Show More