├── LICENSE ├── README.md ├── archetypes └── default.md ├── exampleSite ├── archetypes │ └── default.md ├── config.toml ├── content │ ├── about.md │ └── posts │ │ ├── post-1.md │ │ ├── post-2.md │ │ ├── post-3.md │ │ ├── post-4.md │ │ ├── post-5.md │ │ └── post-6.md └── deploy.sh ├── images ├── screenshot.png └── tn.png ├── layouts ├── 404.html ├── _default │ ├── baseof.html │ ├── list.html │ └── single.html └── partials │ ├── comments.html │ ├── foot.html │ ├── head.html │ ├── navigation.html │ └── scripts.html ├── static ├── css │ ├── fonts.css │ └── simpleness.css ├── fonts │ ├── License.txt │ ├── PTSans-Bold.woff │ ├── PTSans-Regular.woff │ └── Scriptin.ttf └── js │ └── lazyload.min.js └── theme.toml /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (C) 2020 Rainer Chiang 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 9 | of the Software, and to permit persons to whom the Software is furnished to do 10 | so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Hugo Theme: Simpleness 2 | 3 | Simpleness is a concise theme for hugo which is ported from [contrast-hugo](https://github.com/niklasbuschmann/contrast-hugo). 4 | 5 | ![screenshot](https://raw.githubusercontent.com/RainerChiang/simpleness/master/images/screenshot.png) 6 | 7 | ## Live Demo 8 | 9 | - https://rainerchiang.github.io/simpleness/ 10 | - https://rainerchiang.github.io 11 | 12 | ## Features 13 | 14 | - MathJax suport 15 | - Google Analytics support 16 | - Comment systems include: disqus, valine 17 | - Table of content 18 | 19 | ## TODO 20 | 21 | - [ ] Pagination for posts 22 | 23 | ## Quick Start 24 | 25 | ### 1. Install Hugo 26 | 27 | [Download](https://github.com/gohugoio/hugo/releases) the appropriate version for your platform. 28 | 29 | I used [hugo_extended_0.75.1_Linux-64bit.deb](https://github.com/gohugoio/hugo/releases/download/v0.75.1/hugo_extended_0.75.1_Linux-64bit.deb) to develop this theme. 30 | 31 | ### 2. Create a New Site 32 | 33 | ```shell 34 | hugo new site myBlog 35 | ``` 36 | 37 | ### 3. Use hugo theme simpleness 38 | 39 | ```shell 40 | cd myBlog 41 | git init 42 | git submodule add https://github.com/RainerChiang/simpleness.git themes/simpleness 43 | ``` 44 | 45 | copy the content of exampleSite 46 | 47 | ```shell 48 | cp themes/simpleness/exampleSite/config.toml . 49 | cp -r themes/simpleness/exampleSite/content . 50 | ``` 51 | 52 | build site 53 | 54 | ```shell 55 | hugo server 56 | ``` 57 | 58 | then, open http://localhost:1313/ in your browser。 59 | 60 | ## Example Repository 61 | 62 | There's a example repo [RainerChiang/upload-theme](https://github.com/RainerChiang/upload-theme) on Github as a reference. 63 | -------------------------------------------------------------------------------- /archetypes/default.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: {{ replaceRE "[0-9]{2,}" "" .Name | replaceRE "^-*" "" | replaceRE "-" " " | title }} 3 | date: {{ .Date }} 4 | lastmod: 5 | author: Rainer Chiang 6 | 7 | description: 8 | categories: [] 9 | tags: [] 10 | 11 | draft: false 12 | enableDisqus : false 13 | enableMathJax: false 14 | toc: false 15 | --- -------------------------------------------------------------------------------- /exampleSite/archetypes/default.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: {{ replaceRE "[0-9]{2,}" "" .Name | replaceRE "^-*" "" | replaceRE "-" " " | title }} 3 | date: {{ .Date }} 4 | lastmod: 5 | author: Rainer Chiang 6 | 7 | description: 8 | categories: [] 9 | tags: [] 10 | 11 | 12 | draft: false 13 | enableDisqus : false 14 | enableMathJax: false 15 | toc: false 16 | disableToC: false 17 | disableAutoCollapse: true 18 | --- 19 | 20 | -------------------------------------------------------------------------------- /exampleSite/config.toml: -------------------------------------------------------------------------------- 1 | baseURL = "http://example.org/" 2 | languageCode = "en" 3 | DefaultContentLanguage = "en" 4 | theme = "simpleness" 5 | 6 | title = "Rainer Chiang" 7 | enableInlineShortcodes = true 8 | enableEmoji = true 9 | googleAnalytics = "" 10 | 11 | [params] 12 | lazyImage = true 13 | enableMathJax = false # enable it in Front Matter 14 | enableReadingTime = true 15 | favicon = "favicon.ico" 16 | startyear = "2019" 17 | description = "A simple and concise hugo theme." 18 | disqus = "" 19 | 20 | [params.valine] 21 | enable = false 22 | lang = 'en' # zh-CN 23 | appId = '' 24 | appKey = '' 25 | placeholder = 'Say Something......' 26 | requiredFields = ['nick', 'mail'] 27 | avatar = 'robohash' 28 | visitor = true 29 | serverURLS = 'https://abc123.api.lncldglobal.com' 30 | debug = false # display the visitor counts when using 'hugo server' 31 | 32 | [menu] 33 | [[menu.main]] 34 | name = "Home" 35 | url = "/" 36 | weight = 1 37 | [[menu.main]] 38 | name = "About" 39 | url = "/about/" 40 | weight = 2 41 | 42 | [social] 43 | github = "https://github.com/RainerChiang" 44 | rss = "index.xml" 45 | 46 | [taxonomies] 47 | category = "categories" 48 | tag = "tags" 49 | 50 | # doc: https://gohugo.io/getting-started/configuration-markup#highlight 51 | # syntax style: https://xyproto.github.io/splash/docs/longer/all.html 52 | [markup] 53 | [markup.highlight] 54 | guessSyntax = true 55 | hl_Lines = "" 56 | # lineNoStart = 1 57 | # lineNos = true 58 | # lineNumbersInTable = true 59 | noClasses = true 60 | style = "monokai" # github, dracula, vim, monokai 61 | tabWidth = 4 62 | -------------------------------------------------------------------------------- /exampleSite/content/about.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: About 3 | date: 2020-09-22T10:37:58+05:30 4 | lastmod: 5 | author: Rainer Chiang 6 | 7 | description: 8 | categories: [] 9 | tags: [] 10 | 11 | draft: false 12 | enableDisqus : true 13 | enableMathJax: false 14 | disableToC: false 15 | disableAutoCollapse: true 16 | --- 17 | 18 | ## About Yourself 19 | 20 | This is some static page where you can write about yourself. 21 | 22 | ## hugo theme [simpleness](https://github.com/RainerChiang/simpleness) 23 | 24 | A hugo theme ported form [contrast-hugo](https://github.com/niklasbuschmann/contrast-hugo) 25 | -------------------------------------------------------------------------------- /exampleSite/content/posts/post-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Emoji Support 3 | date: 2017-01-18T02:01:58+05:30 4 | lastmod: 2020-10-09T10:13:38+08:00 5 | author: Rainer Chiang 6 | 7 | description: You have a to-do list that scrolls on for days. You are managing multiple projects, getting lots of email and messages on different messaging systems, managing finances and personal health habits and so much more. 8 | categories: [Hugo] 9 | tags: [emoji, test] 10 | 11 | draft: false 12 | enableDisqus : true 13 | enableMathJax: false 14 | disableToC: false 15 | disableAutoCollapse: true 16 | --- 17 | 18 | Emoji can be enabled in a Hugo project in a number of ways. 19 | 20 | The [`emojify`](https://gohugo.io/functions/emojify/) function can be called directly in templates or [Inline Shortcodes](https://gohugo.io/templates/shortcode-templates/#inline-shortcodes). 21 | 22 | To enable emoji globally, set `enableEmoji` to `true` in your site's [configuration](https://gohugo.io/getting-started/configuration/) and then you can type emoji shorthand codes directly in content files; e.g. 23 | 24 |

🙈 :see_no_evil: 🙉 :hear_no_evil: 🙊 :speak_no_evil:

25 |
26 | 27 | The [Emoji cheat sheet](http://www.emoji-cheat-sheet.com/) is a useful reference for emoji shorthand codes. 28 | 29 | *** 30 | 31 | **N.B.** The above steps enable Unicode Standard emoji characters and sequences in Hugo, however the rendering of these glyphs depends on the browser and the platform. To style the emoji you can either use a third party emoji font or a font stack; e.g. 32 | 33 | {{< highlight html >}} 34 | .emoji { 35 | font-family: Apple Color Emoji, Segoe UI Emoji, NotoColorEmoji, Segoe UI Symbol, Android Emoji, EmojiSymbols; 36 | } 37 | {{< /highlight >}} 38 | 39 | {{< css.inline >}} 40 | 53 | {{< /css.inline >}} -------------------------------------------------------------------------------- /exampleSite/content/posts/post-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Markdown Syntax Guide 3 | date: 2017-05-18T12:13:30+05:30 4 | lastmod: 2020-10-09T10:13:38+08:00 5 | author: Rainer Chiang 6 | 7 | description: Markdown Syntax Guide 8 | categories: [Hugo] 9 | tags: [Markdown, test] 10 | 11 | 12 | draft: false 13 | enableDisqus : true 14 | enableMathJax: false 15 | toc: true 16 | disableToC: false 17 | disableAutoCollapse: true 18 | --- 19 | 20 | This article offers a sample of basic Markdown syntax that can be used in Hugo content files, also it shows whether basic HTML elements are decorated with CSS in a Hugo theme. 21 | 22 | 23 | ## Headings 24 | 25 | The following HTML `

`—`

` elements represent six levels of section headings. `

` is the highest section level while `

` is the lowest. 26 | 27 | # H1 28 | ## H2 29 | ### H3 30 | #### H4 31 | ##### H5 32 | ###### H6 33 | 34 | ## Paragraph 35 | 36 | Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat. 37 | 38 | Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat. 39 | 40 | ## Blockquotes 41 | 42 | The blockquote element represents content that is quoted from another source, optionally with a citation which must be within a `footer` or `cite` element, and optionally with in-line changes such as annotations and abbreviations. 43 | 44 | #### Blockquote without attribution 45 | 46 | > Tiam, ad mint andaepu dandae nostion secatur sequo quae. 47 | > **Note** that you can use *Markdown syntax* within a blockquote. 48 | 49 | #### Blockquote with attribution 50 | 51 | > Don't communicate by sharing memory, share memory by communicating.
52 | > — Rob Pike[^1] 53 | 54 | [^1]: The above quote is excerpted from Rob Pike's [talk](https://www.youtube.com/watch?v=PAAkCSZUG1c) during Gopherfest, November 18, 2015. 55 | 56 | ## Tables 57 | 58 | Tables aren't part of the core Markdown spec, but Hugo supports supports them out-of-the-box. 59 | 60 | Name | Age 61 | --------|------ 62 | Bob | 27 63 | Alice | 23 64 | 65 | #### Inline Markdown within tables 66 | 67 | | Italics | Bold | Code | 68 | | -------- | -------- | ------ | 69 | | *italics* | **bold** | `code` | 70 | 71 | ## Code Blocks 72 | 73 | #### Code block with backticks 74 | 75 | ```html 76 | 77 | 78 | 79 | 80 | Example HTML5 Document 81 | 82 | 83 |

Test

84 | 85 | 86 | ``` 87 | 88 | #### Code block indented with four spaces 89 | 90 | 91 | 92 | 93 | 94 | Example HTML5 Document 95 | 96 | 97 |

Test

98 | 99 | 100 | 101 | #### Code block with Hugo's internal highlight shortcode 102 | {{< highlight html >}} 103 | 104 | 105 | 106 | 107 | Example HTML5 Document 108 | 109 | 110 |

Test

111 | 112 | 113 | {{< /highlight >}} 114 | 115 | ## List Types 116 | 117 | #### Ordered List 118 | 119 | 1. First item 120 | 2. Second item 121 | 3. Third item 122 | 123 | #### Unordered List 124 | 125 | * List item 126 | * Another item 127 | * And another item 128 | 129 | #### Nested list 130 | 131 | * Fruit 132 | * Apple 133 | * Orange 134 | * Banana 135 | * Dairy 136 | * Milk 137 | * Cheese 138 | 139 | ## Other Elements — abbr, sub, sup, kbd, mark 140 | 141 | GIF is a bitmap image format. 142 | 143 | H2O 144 | 145 | Xn + Yn = Zn 146 | 147 | Press CTRL+ALT+Delete to end the session. 148 | 149 | Most salamanders are nocturnal, and hunt for insects, worms, and other small creatures. -------------------------------------------------------------------------------- /exampleSite/content/posts/post-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Math Type Setting 3 | date: 2018-03-18T12:13:32+05:30 4 | lastmod: 2020-10-09T10:13:38+08:00 5 | author: Rainer Chiang 6 | 7 | description: The art of letting go. 8 | categories: [Hugo] 9 | tags: [MathJax, test] 10 | 11 | draft: false 12 | enableDisqus : true 13 | enableMathJax: true 14 | disableToC: false 15 | disableAutoCollapse: true 16 | --- 17 | 18 | Mathematical notation in a Hugo project can be enabled by using third party JavaScript libraries. 19 | 20 | In this example we will be using [KaTeX](https://katex.org/) 21 | 22 | - Create a partial under `/layouts/partials/math.html` 23 | - Within this partial reference the [Auto-render Extension](https://katex.org/docs/autorender.html) or host these scripts locally. 24 | - Include the partial in your templates like so: 25 | 26 | ```bash 27 | {{ if or .Params.math .Site.Params.math }} 28 | {{ partial "math.html" . }} 29 | {{ end }} 30 | ``` 31 | 32 | - To enable KaTex globally set the parameter `math` to `true` in a project's configuration 33 | - To enable KaTex on a per page basis include the parameter `math: true` in content files 34 | 35 | **Note:** Use the online reference of [Supported TeX Functions](https://katex.org/docs/supported.html) 36 | 37 | {{< math.inline >}} 38 | {{ if or .Page.Params.math .Site.Params.math }} 39 | 40 | 41 | 42 | 43 | {{ end }} 44 | {{}} 45 | 46 | ### Examples 47 | 48 | {{< math.inline >}} 49 |

50 | Inline math: \(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\) 51 |

52 | {{}} 53 | 54 | Block math: 55 | $$ 56 | \varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } } 57 | $$ -------------------------------------------------------------------------------- /exampleSite/content/posts/post-4.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 中文测试 3 | date: 2018-03-18T12:13:35+05:30 4 | lastmod: 2020-10-09T10:13:38+08:00 5 | author: Rainer Chiang 6 | 7 | description: Start by getting a small backpack (less than 20 liters) and then just travel with what fits in that. 8 | categories: [Text] 9 | tags: [plain, chinese] 10 | 11 | 12 | draft: false 13 | enableDisqus : true 14 | enableMathJax: false 15 | disableToC: false 16 | disableAutoCollapse: true 17 | --- 18 | 19 | # 荷塘月色 20 | 21 | >朱自清(1898年11月22日—1948年8月12日),原名自华,号实秋,后改名自清,字佩弦。原籍浙江绍兴,出生于江苏省东海县(今连云港市东海县平明镇),后随父定居扬州。中国现代散文家、诗人、学者、民主战士。 22 | > 23 | >1916年中学毕业后成功考入北京大学预科。1919年开始发表诗歌。1921年,加入文学研究会,成立“为人生”代表作家。1922年,与叶圣陶等创办了我国新文学史上第一个诗刊——《诗》月刊,倡导新诗。次年,发表长诗《毁灭》,引起当时诗坛广泛注意,继而写《桨声灯影里的秦淮河》,被誉为“白话美术文的模范”。1924年,诗文集《踪迹》出版。1925年,应清华大学之聘,任中文系教授。创作由诗歌转向散文,同时致力于古典文学研究。“三·一八”惨案后,他撰写《执政府大屠杀记》等文章,声讨军阀政府暴行。1928年,第一部散文集《背影》出版。1930年,代理清华大学中文系主任。次年,留学英国,并漫游欧洲数国,著有《欧游杂记》、《伦敦杂记》。1932年归国,继任清华大学中文系教授兼系主任。“一二·九”运动中,他同学生一道上街游行。抗日战争爆发后,随校南迁,任西南联大教授。1946年10月返北平,受校方委托主编《闻一多全集》。同时,积极参加各项民主活动。1948年8月12日因胃穿孔病逝于北平,年仅50岁。 24 | > 25 | >所作《背影》、《荷塘月色》等篇,为中国现代散文早期代表作,由《朱自清全集》出版。 26 | 27 | 这几天心里颇不宁静。今晚在院子里坐着乘凉,忽然想起日日走过的荷塘,在这满月的光里,总该另有一番样子吧。月亮渐渐地升高了,墙外马路上孩子们的欢笑,已经听不见了;妻在屋里拍着闰儿,迷迷糊糊地哼着眠歌。我悄悄地披了大衫,带上门出去。 28 | 29 | 沿着荷塘,是一条曲折的小煤屑路。这是一条幽僻的路;白天也少人走,夜晚更加寂寞。荷塘四面,长着许多树,蓊蓊郁郁的。路的一旁,是些杨柳,和一些不知道名字的树。没有月光的晚上,这路上阴森森的,有些怕人。今晚却很好,虽然月光也还是淡淡的。 30 | 31 | 路上只我一个人,背着手踱着。这一片天地好像是我的;我也像超出了平常的自己,到了另一世界里。我爱热闹,也爱冷静;爱群居,也爱独处。像今晚上,一个人在这苍茫的月下,什么都可以想,什么都可以不想,便觉是个自由的人。白天里一定要做的事,一定要说的话,现在都可不理。这是独处的妙处,我且受用这无边的荷香月色好了。 32 | 33 | 曲曲折折的荷塘上面,弥望的是田田的叶子。叶子出水很高,像亭亭的舞女的裙。层层的叶子中间,零星地点缀着些白花,有袅娜地开着的,有羞涩地打着朵儿的;正如一粒粒的明珠,又如碧天里的星星,又如刚出浴的美人。微风过处,送来缕缕清香,仿佛远处高楼上渺茫的歌声似的。这时候叶子与花也有一丝的颤动,像闪电般,霎时传过荷塘的那边去了。叶子本是肩并肩密密地挨着,这便宛然有了一道凝碧的波痕。叶子底下是脉脉的流水,遮住了,不能见一些颜色;而叶子却更见风致了。 34 | 35 | 月光如流水一般,静静地泻在这一片叶子和花上。薄薄的青雾浮起在荷塘里。叶子和花仿佛在牛乳中洗过一样;又像笼着轻纱的梦。虽然是满月,天上却有一层淡淡的云,所以不能朗照;但我以为这恰是到了好处——酣眠固不可少,小睡也别有风味的。月光是隔了树照过来的,高处丛生的灌木,落下参差的斑驳的黑影,峭楞楞如鬼一般;弯弯的杨柳的稀疏的倩影,却又像是画在荷叶上。塘中的月色并不均匀;但光与影有着和谐的旋律,如梵婀玲上奏着的名曲。 36 | 37 | 荷塘的四面,远远近近,高高低低都是树,而杨柳最多。这些树将一片荷塘重重围住;只在小路一旁,漏着几段空隙,像是特为月光留下的。树色一例是阴阴的,乍看像一团烟雾;但杨柳的丰姿,便在烟雾里也辨得出。树梢上隐隐约约的是一带远山,只有些大意罢了。树缝里也漏着一两点路灯光,没精打采的,是渴睡人的眼。这时候最热闹的,要数树上的蝉声与水里的蛙声;但热闹是它们的,我什么也没有。 38 | 39 | 忽然想起采莲的事情来了。采莲是江南的旧俗,似乎很早就有,而六朝时为盛;从诗歌里可以约略知道。采莲的是少年的女子,她们是荡着小船,唱着艳歌去的。采莲人不用说很多,还有看采莲的人。那是一个热闹的季节,也是一个风流的季节。梁元帝《采莲赋》里说得好: 40 | 41 | 于是妖童媛女,荡舟心许;鷁首徐回,兼传羽杯;欋将移而藻挂,船欲动而萍开。尔其纤腰束素,迁延顾步;夏始春余,叶嫩花初,恐沾裳而浅笑,畏倾船而敛裾。 42 | 43 | 可见当时嬉游的光景了。这真是有趣的事,可惜我们现在早已无福消受了。 44 | 45 | 于是又记起《西洲曲》里的句子: 46 | 47 | > 采莲南塘秋,莲花过人头;低头弄莲子,莲子清如水。今晚若有采莲人,这儿的莲花也算得“过人头”了;只不见一些流水的影子,是不行的。这令我到底惦着江南了。——这样想着,猛一抬头,不觉已是自己的门前;轻轻地推门进去,什么声息也没有,妻已睡熟好久了。 48 | 49 |   1927年7月,北京清华园。 50 | 51 |   (原载1927年7月10日《小说月报》第18卷第7期) 52 | 53 | -------------------------------------------------------------------------------- /exampleSite/content/posts/post-5.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Typography 3 | date: 2019-09-18T12:13:38+05:00 4 | lastmod: 2020-10-09T10:13:38+08:00 5 | author: Rainer Chiang 6 | 7 | description: 8 | categories: [Whisper] 9 | tags: [markdown] 10 | 11 | 12 | draft: false 13 | enableDisqus : true 14 | enableMathJax: false 15 | disableToC: false 16 | disableAutoCollapse: true 17 | --- 18 | 19 | Lid est laborum et dolorum fuga. Et harum quidem rerum facilis est et expeditasi distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihilse impedit quo minus id quod amets untra dolor amet sad. Sed ut perspser iciatis unde omnis iste natus error sit voluptatem accusantium doloremque laste. Dolores sadips ipsums sits. 20 | 21 | # Heading 1 22 | 23 | Lid est laborum et dolorum fuga. Et harum quidem rerum facilis est et expeditasi distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihilse impedit quo minus id quod amets untra dolor amet sad. Sed ut perspser iciatis unde omnis iste natus error sit voluptatem accusantium doloremque laste. Dolores sadips ipsums sits. 24 | 25 | ## Heading 2 26 | 27 | Lid est laborum et dolorum fuga. Et harum quidem rerum facilis est et expeditasi distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihilse impedit quo minus id quod amets untra dolor amet sad. Sed ut perspser iciatis unde omnis iste natus error sit voluptatem accusantium doloremque laste. Dolores sadips ipsums sits. 28 | 29 | ### Heading 3 30 | 31 | Lid est laborum et dolorum fuga. Et harum quidem rerum facilis est et expeditasi distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihilse impedit quo minus id quod amets untra dolor amet sad. Sed ut perspser iciatis unde omnis iste natus error sit voluptatem accusantium doloremque laste. Dolores sadips ipsums sits. 32 | 33 | #### Heading 4 34 | 35 | Lid est laborum et dolorum fuga. Et harum quidem rerum facilis est et expeditasi distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihilse impedit quo minus id quod amets untra dolor amet sad. Sed ut perspser iciatis unde omnis iste natus error sit voluptatem accusantium doloremque laste. Dolores sadips ipsums sits. 36 | 37 | ##### Heading 5 38 | 39 | Lid est laborum et dolorum fuga. Et harum quidem rerum facilis est et expeditasi distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihilse impedit quo minus id quod amets untra dolor amet sad. Sed ut perspser iciatis unde omnis iste natus error sit voluptatem accusantium doloremque laste. Dolores sadips ipsums sits. 40 | 41 | ###### Heading 6 42 | 43 | Lid est laborum et dolorum fuga. Et harum quidem rerum facilis est et expeditasi distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihilse impedit quo minus id quod amets untra dolor amet sad. Sed ut perspser iciatis unde omnis iste natus error sit voluptatem accusantium doloremque laste. Dolores sadips ipsums sits. 44 | 45 | ## Typography 46 | 47 | Lid est laborum et dolorum fuga, This is [an example](http://example.com/ "Title") inline link. Et harum quidem rerum facilis, **This is bold** and *emphasis* cumque nihilse impedit quo minus id quod amets untra dolor amet sad. While this is `code block()` and following is a `pre` tag 48 | 49 | print 'this is pre tag' 50 | 51 | Following is the syntax highlighted code block 52 | 53 | ```go 54 | func getCookie(name string, r interface{}) (*http.Cookie, error) { 55 | rd := r.(*http.Request) 56 | cookie, err := rd.Cookie(name) 57 | if err != nil { 58 | return nil, err 59 | } 60 | return cookie, nil 61 | } 62 | 63 | func setCookie(cookie *http.Cookie, w interface{}) error { 64 | // Get write interface registered using `Acquire` method in handlers. 65 | wr := w.(http.ResponseWriter) 66 | http.SetCookie(wr, cookie) 67 | return nil 68 | } 69 | ``` 70 | 71 | This is blockquote, Will make it *better now* 72 | 73 | > 'I want to do with you what spring does with the cherry trees.' cited ~Pablo Neruda* 74 | 75 | 76 | > Et harum quidem *rerum facilis* est et expeditasi distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihilse impedit 77 | 78 | Unordered list 79 | 80 | * Red 81 | * Green 82 | * Blue 83 | 84 | Ordered list 85 | 86 | 1. Red 87 | 2. Green 88 | 3. Blue 89 | 90 | ## Tables 91 | 92 | Tables aren't part of the core Markdown spec, but Hugo supports supports them out-of-the-box. 93 | 94 | Name | Age 95 | --------|------ 96 | Bob | 27 97 | Alice | 23 98 | 99 | #### Inline Markdown within tables 100 | 101 | | Inline    | Markdown    | In    | Table | 102 | | ---------- | --------- | ----------------- | ---------- | 103 | | *italics* | **bold** | ~~strikethrough~~    | `code` | -------------------------------------------------------------------------------- /exampleSite/content/posts/post-6.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Short Codes 3 | date: 2019-09-06T12:13:36+05:30 4 | lastmod: 2020-10-09T10:13:38+08:00 5 | author: Rainer Chiang 6 | 7 | description: Here is a demo of all shortcodes available in Hugo. 8 | categories: [Shortcodes] 9 | tags: [image] 10 | 11 | 12 | draft: false 13 | enableDisqus : true 14 | enableMathJax: false 15 | disableToC: false 16 | disableAutoCollapse: true 17 | --- 18 | 19 | Hugo ships with several [Built-in Shortcodes](https://gohugo.io/content-management/shortcodes/#use-hugo-s-built-in-shortcodes) for rich content, along with a [Privacy Config](https://gohugo.io/about/hugo-and-gdpr/) and a set of Simple Shortcodes that enable static and no-JS versions of various social media embeds. 20 | 21 | ## Images 22 | 23 | {{< figure src="https://images.unsplash.com/photo-1560032779-0a8809186efd?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1350&q=80" title="Dave Herring" >}} 24 | 25 | {{< figure src="https://images.unsplash.com/photo-1560032779-0a8809186efd?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=500&q=80" title="Dave Herring" >}} 26 | 27 | --- 28 | 29 | ## Instagram Simple Shortcode 30 | 31 | < instagram_simple BGvuInzyFAe hidecaption > 32 | 33 |
34 | 35 | --- 36 | 37 | ## YouTube Privacy Enhanced Shortcode 38 | 39 | < youtube ZJthWmvUzzc > 40 | 41 |
42 | 43 | --- 44 | 45 | ## Twitter Simple Shortcode 46 | 47 | < twitter_simple 1085870671291310081 > 48 | 49 |
50 | 51 | --- 52 | 53 | ## Vimeo Simple Shortcode 54 | 55 | < vimeo_simple 48912912 > 56 | -------------------------------------------------------------------------------- /exampleSite/deploy.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | set -e 4 | 5 | rm -r public/* 6 | echo "Done: rm -r public/* \n" 7 | 8 | hugo 9 | echo "Done: hugo \n" 10 | 11 | cd public/ 12 | git add . 13 | git commit -m "Blog update at $(date)" 14 | echo "Done: git commit, Blog update at $(date) \n" 15 | 16 | git push -u origin main 17 | echo "\nDone: git push -u origin main" 18 | -------------------------------------------------------------------------------- /images/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RainerChiang/simpleness/9da74fc7bfb1b3e1e14d327ceb04262011d05006/images/screenshot.png -------------------------------------------------------------------------------- /images/tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RainerChiang/simpleness/9da74fc7bfb1b3e1e14d327ceb04262011d05006/images/tn.png -------------------------------------------------------------------------------- /layouts/404.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 | 3 |
4 |

404: Page not found

5 |

Unfortunately, this page does not exist.

6 |
7 | 8 | {{ end }} -------------------------------------------------------------------------------- /layouts/_default/baseof.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{ partial "head.html" . }} 4 | 5 | {{ partial "navigation.html" . }} 6 | {{ block "main" . }}{{ end }} 7 | {{ partial "foot.html" . }} 8 | 9 | {{ partial "scripts.html" . }} 10 | 11 | -------------------------------------------------------------------------------- /layouts/_default/list.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 | {{ $Pages := .Pages }} 3 | {{ $home := .IsHome }} 4 | {{ if .IsHome }} 5 | {{ $Pages = where site.RegularPages "Type" "in" .Site.Params.mainSections }} 6 | {{ end }} 7 | 8 |
9 | {{ if not .IsHome }} 10 |
11 |

12 | {{ .Title }} 13 |

14 |
15 | {{ end }} 16 |
17 | {{ range $Pages.GroupByDate "2006" }} 18 |

{{ .Key }}

19 |
    20 | {{ range .Pages.GroupByDate "January"}} 21 | {{ range .Pages }} 22 |
  • 23 | {{ if .Date }} 24 | 25 | {{ .Title }} 26 | {{ end }} 27 |
  • 28 | {{ end }} 29 | {{ end }} 30 |
31 | {{ end }} 32 |
33 |
34 | {{ end }} 35 | -------------------------------------------------------------------------------- /layouts/_default/single.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 |
4 |

{{ .Title }}

5 | 36 |
37 | 38 | {{ if and .Params.toc .TableOfContents }} 39 |
40 |
Contents
41 | {{ .TableOfContents }} 42 |
43 | {{ end }} 44 | 45 |
46 | {{ .Content }} 47 |
48 | 49 |
50 | {{ if and .Lastmod (ne .Lastmod .Date) }} 51 |
52 | 55 |

56 |
57 | {{ end }} 58 | 59 | {{ if gt .Params.tags 0 }} 60 | 67 | {{ end }} 68 | 69 | {{ $related := (where site.RegularPages "Type" "in" site.Params.mainSections).Related . | first 5 }} 70 | {{ with $related }} 71 | 79 | {{ end }} 80 |
81 | 82 |
83 | {{ partial "comments.html" . }} 84 |
85 |
86 | {{ end }} 87 | -------------------------------------------------------------------------------- /layouts/partials/comments.html: -------------------------------------------------------------------------------- 1 |
2 | {{ if and .Site.Params.disqus .Params.enableDisqus }} 3 |
4 |
5 | 17 | 20 |
21 | {{ end }} 22 | 23 | {{ if .Site.Params.valine.enable }} 24 |
25 |
26 | 27 | 28 | 29 | 44 | 54 |
55 | {{ end }} 56 |
-------------------------------------------------------------------------------- /layouts/partials/foot.html: -------------------------------------------------------------------------------- 1 |
2 | {{ $start := .Site.Params.startyear }} 3 | © {{ $start }} - {{ now.Format "2006" }} · 4 | {{ .Site.Title }} · 5 | Theme Simpleness Powered by Hugo · 6 | 7 |
-------------------------------------------------------------------------------- /layouts/partials/head.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {{ hugo.Generator }} 5 | {{ if .IsHome }} {{ .Site.Title }} {{ else }} {{ .Title }} | {{ .Site.Title }} {{ end }} 6 | {{- if or .Description .Site.Params.description }} 7 | 8 | {{- end }} 9 | {{- if .Params.favicon }} 10 | 11 | {{- end }} 12 | 13 | 14 | 15 | 16 | 17 | 18 | {{- if or .Params.enableMathJax .Site.Params.enableMathJax }} 19 | 23 | 24 | 29 | 35 | {{- end }} 36 | {{ if .Site.GoogleAnalytics }} 37 | {{ template "_internal/google_analytics.html" . }} 38 | {{ end }} 39 | -------------------------------------------------------------------------------- /layouts/partials/navigation.html: -------------------------------------------------------------------------------- 1 | 33 | -------------------------------------------------------------------------------- /layouts/partials/scripts.html: -------------------------------------------------------------------------------- 1 | {{ if and .Site.Params.lazyImage (not .IsHome) -}} 2 | 3 | 6 | {{ end }} 7 | 8 | {{ if and .Params.toc .TableOfContents }} 9 | 10 | 46 | {{ end }} 47 | -------------------------------------------------------------------------------- /static/css/fonts.css: -------------------------------------------------------------------------------- 1 | @media (min-width: 50em) { 2 | @font-face { 3 | font-family: 'PT Sans'; 4 | src: local("PT Sans"), local("PTSans-Regular"), url("../fonts/PTSans-Regular.woff") format("woff"); 5 | font-weight: normal; 6 | font-style: normal; 7 | } 8 | @font-face { 9 | font-family: 'PT Sans'; 10 | src: local("PT Sans Bold"), local("PTSans-Bold"), url("../fonts/PTSans-Bold.woff") format("woff"); 11 | font-weight: bold; 12 | font-style: normal; 13 | } 14 | @font-face { 15 | font-family: 'Motto'; 16 | src: local("Motto"), local("Scriptin"), url("../fonts/Scriptin.ttf") format("TrueType"); 17 | } 18 | } -------------------------------------------------------------------------------- /static/css/simpleness.css: -------------------------------------------------------------------------------- 1 | @import url(fonts.css); 2 | /* @import url(nav.css); */ 3 | 4 | /* custom variable */ 5 | :root { 6 | /* fonts */ 7 | --normal-font: Georgia, "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Roboto", sans-serif; 8 | --code-font: monospace, 'Courier New', Courier; 9 | --motto-font: "Motto"; 10 | /* colors */ 11 | --white-color: #ffffff; 12 | --blank-color: #1c1d22; 13 | --metal-blue-color: #0000EE; 14 | --dark-blue-color: #58A6FF; 15 | --gray-color: #8e8e8e; 16 | --light-gray-color: #efefef; 17 | /* background */ 18 | --background-image: url('data:image/png;base64,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'); 19 | } 20 | 21 | @media (prefers-color-scheme: light) { 22 | html { 23 | background: var(--background-image); 24 | color: var(--blank-color); 25 | } 26 | 27 | body { 28 | background-color: var(--white-color); 29 | } 30 | 31 | article a { 32 | color: var(--metal-blue-color); 33 | } 34 | 35 | article a:hover { 36 | border-color: var(--metal-blue-color); 37 | } 38 | 39 | .foot a:hover { 40 | color: var(--metal-blue-color); 41 | } 42 | 43 | .post-text blockquote { 44 | background: #f5f5f5; 45 | border-left: 4px solid #ababab; 46 | padding: 1px 1em; 47 | margin: 1em 0em; 48 | } 49 | 50 | .post-text tr:hover, tr:nth-child(odd) td { 51 | background: var(--light-gray-color); 52 | } 53 | 54 | .post-text :not(pre) > code { 55 | font-size: var(--code-font); 56 | background: var(--light-gray-color); 57 | opacity: .9; 58 | border-radius: 2px; 59 | margin: .1em .1em; 60 | padding: .1em .3em; 61 | } 62 | .post-toc li a { 63 | color: var(--blank-color); 64 | text-decoration: none; 65 | } 66 | } 67 | 68 | @media (prefers-color-scheme: dark) { 69 | html { 70 | background: var(--blank-color); 71 | color: var(--white-color); 72 | } 73 | 74 | article a { 75 | color: var(--dark-blue-color); 76 | } 77 | 78 | article a:hover { 79 | border-color: var(--dark-blue-color); 80 | } 81 | 82 | .foot a:hover { 83 | color: var(--dark-blue-color); 84 | } 85 | 86 | .post-text blockquote { 87 | background: #3f3f3f; 88 | border-left: 4px solid #ababab; 89 | padding: 1px 1em; 90 | margin: 1em 0em; 91 | } 92 | 93 | .post-text :not(pre) > code { 94 | font-size: var(--code-font); 95 | background: #3f3f3f; 96 | opacity: .9; 97 | border-radius: 2px; 98 | margin: .1em .1em; 99 | padding: .1em .3em; 100 | } 101 | } 102 | 103 | 104 | /* ------- html -------*/ 105 | html { 106 | font-size: 16px; 107 | } 108 | 109 | body { 110 | -webkit-text-size-adjust: 100%; 111 | -webkit-font-smoothing: antialiased; 112 | -moz-osx-font-smoothing: grayscale; 113 | font-family: var(--normal-font); 114 | font-weight: 400; 115 | line-height: 1.5; 116 | max-width: 900px; 117 | padding: .5em; 118 | margin:0 auto; 119 | } 120 | 121 | a { 122 | color: inherit; 123 | text-decoration: none; 124 | } 125 | 126 | article a:hover { 127 | border-bottom: 1px dashed; 128 | padding-bottom: 1px; 129 | } 130 | /* ------- html end -------*/ 131 | 132 | 133 | /* ------- navigation -------*/ 134 | .navigation { 135 | display: flex; 136 | flex-wrap: wrap; 137 | justify-content: space-between; 138 | align-items: center; 139 | line-height: 1.5; 140 | border-bottom: 1px solid var(--light-gray-color); 141 | } 142 | 143 | .nav-left { 144 | display: flex; 145 | flex-wrap: wrap; 146 | justify-content: space-between; 147 | } 148 | 149 | .nav-item { 150 | padding: 1px; 151 | margin: 1em; 152 | } 153 | 154 | .nav-item a { 155 | font-size: 1.2em; 156 | padding: 1px; 157 | margin: .5em; 158 | } 159 | 160 | .nav-title { 161 | font-family: var(--motto-font); 162 | margin-left: 0; 163 | font-weight: 600; 164 | } 165 | 166 | .nav-menu { 167 | margin-left: 0; 168 | } 169 | /* ------- navigation end -------*/ 170 | 171 | 172 | /* ------- foot -------*/ 173 | .foot { 174 | font-size: 15px; 175 | margin-top: auto; 176 | padding-top: .5em; 177 | color: var(--gray-color); 178 | text-align: center; 179 | border-top: 1px solid var(--light-gray-color); 180 | } 181 | /* ------- foot end -------*/ 182 | 183 | 184 | /* ------- article -------*/ 185 | article { 186 | margin: 1em; 187 | padding: 1px; 188 | } 189 | 190 | article header { 191 | margin: 1.5em 0; 192 | } 193 | 194 | /* article title */ 195 | article header h1 { 196 | font-size: 1.8em; 197 | margin: .3em .5em; 198 | } 199 | 200 | article h2 { 201 | font-size: 1.6em; 202 | } 203 | 204 | article h3 { 205 | font-size: 1.4em; 206 | } 207 | 208 | article h4 { 209 | font-size: 1.2em; 210 | } 211 | 212 | article h5, h6 { 213 | font-size: 1em; 214 | } 215 | /* ------- article end -------*/ 216 | 217 | 218 | /* ------- archive start -------*/ 219 | .archive ul { 220 | padding-inline-start: 2em; 221 | line-height: 2; 222 | } 223 | 224 | .archive li { 225 | font-size: 1.1em; 226 | list-style: none; /* remove the dots */ 227 | } 228 | 229 | .archive time { 230 | display: inline-block; 231 | min-width: 12ch; 232 | color: var(--gray-color); 233 | } 234 | /* ------- archive end -------*/ 235 | 236 | 237 | /* ------- post metadata -------*/ 238 | .post-metadata { 239 | color: var(--gray-color); 240 | } 241 | /* ------- post metadata end -------*/ 242 | 243 | 244 | /* ========================== post text ========================== */ 245 | .post-text { 246 | padding-bottom: 1em; 247 | border-bottom: 1px dashed var(--gray-color); 248 | } 249 | 250 | .post-text hr { 251 | border: 1px dotted #dddddd; 252 | margin: 2em 10em; 253 | } 254 | 255 | .post-text figure { 256 | margin: auto; 257 | } 258 | 259 | .post-text img { 260 | border-radius: 5px; 261 | max-width: 95%; 262 | height: auto; 263 | /* center horizontally */ 264 | margin-left: auto; 265 | margin-right: auto; 266 | display: block; 267 | } 268 | 269 | .post-text table { 270 | max-width: 100%; 271 | margin: auto; 272 | border-spacing: 1px; 273 | box-shadow: 0 0 0 1px var(--light-gray-color) inset; 274 | } 275 | 276 | .post-text th, td { 277 | padding: .5em 1em; 278 | box-shadow: 0 0 0 1px var(--gray-color); 279 | } 280 | 281 | .post-text .highlight pre { 282 | font-size: var(--code-font); 283 | font-size: 14px; 284 | overflow-x: auto; 285 | margin: auto; 286 | padding: .5em .8em; 287 | } 288 | 289 | .highlight pre::-webkit-scrollbar { 290 | height: .9em; 291 | background-color: #eff1f5; 292 | } 293 | 294 | .highlight pre::-webkit-scrollbar-track{ 295 | border-radius: 3px; 296 | background-color: transparent; 297 | } 298 | 299 | .highlight pre::-webkit-scrollbar-thumb{ 300 | border-radius: 10px; 301 | background-color:#a8a8a8; 302 | border: 2px solid #eff1f5 303 | } 304 | 305 | /* ------- post toc -------*/ 306 | .post-toc { 307 | /* display: none; */ 308 | position: fixed; 309 | overflow-y: auto; 310 | left: 50%; 311 | top: 9em; 312 | font-size: 0.9em; 313 | width: 35em; 314 | margin-left: 30em; 315 | padding-left: 1em; 316 | max-height: 85%; 317 | } 318 | .post-toc-title { 319 | font-weight: bold; 320 | margin-left: 1em; 321 | padding-left: 1em; 322 | } 323 | .post-toc ul { 324 | padding-left: 1em; 325 | } 326 | .post-toc li { 327 | list-style: none; 328 | padding-left: 1em; 329 | margin-top: 2px; 330 | } 331 | .post-toc li a.active { 332 | font-weight: bold; 333 | } 334 | @media screen and (min-width: 1400px) { 335 | .post-toc { 336 | display: block; 337 | } 338 | } 339 | /* ------- post toc end -------*/ 340 | /* ========================== post text end ========================== */ 341 | 342 | 343 | /* ------- post footer -------*/ 344 | .post-footer div { 345 | margin: 1em 0; 346 | } 347 | 348 | .post-lastmod { 349 | font-style: italic; 350 | color: var(--gray-color); 351 | } 352 | 353 | .related-posts h4 { 354 | margin-top: 0; 355 | margin-bottom: 1em; 356 | } 357 | /* ------- post footer end -------*/ 358 | 359 | 360 | /* ------- comments -------*/ 361 | .comments-item { 362 | margin-top: 10%; 363 | } 364 | 365 | /* .comments-valine .vcontent p { 366 | background: rgba(142, 142, 145, 0.04); 367 | } */ 368 | /* ------- comments end -------*/ 369 | -------------------------------------------------------------------------------- /static/fonts/License.txt: -------------------------------------------------------------------------------- 1 | Copyright © 2009 ParaType Ltd. 2 | with Reserved Names "PT Sans" and "ParaType". 3 | 4 | FONT LICENSE 5 | 6 | PERMISSION & CONDITIONS 7 | Permission is hereby granted, free of charge, to any person obtaining a copy of the font software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the font software, subject to the following conditions: 8 | 9 | 1) Neither the font software nor any of its individual components, in original or modified versions, may be sold by itself. 10 | 11 | 2) Original or modified versions of the font software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user. 12 | 13 | 3) No modified version of the font software may use the Reserved Name(s) or combinations of Reserved Names with other words unless explicit written permission is granted by the ParaType. This restriction only applies to the primary font name as presented to the users. 14 | 15 | 4) The name of ParaType or the author(s) of the font software shall not be used to promote, endorse or advertise any modified version, except to acknowledge the contribution(s) of ParaType and the author(s) or with explicit written permission of ParaType. 16 | 17 | 5) The font software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software. 18 | 19 | TERMINATION & TERRITORY 20 | This license has no limits on time and territory, but it becomes null and void if any of the above conditions are not met. 21 | 22 | DISCLAIMER 23 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL PARATYPE BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. 24 | 25 | ParaType Ltd 26 | http://www.paratype.ru -------------------------------------------------------------------------------- /static/fonts/PTSans-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RainerChiang/simpleness/9da74fc7bfb1b3e1e14d327ceb04262011d05006/static/fonts/PTSans-Bold.woff -------------------------------------------------------------------------------- /static/fonts/PTSans-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RainerChiang/simpleness/9da74fc7bfb1b3e1e14d327ceb04262011d05006/static/fonts/PTSans-Regular.woff -------------------------------------------------------------------------------- /static/fonts/Scriptin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RainerChiang/simpleness/9da74fc7bfb1b3e1e14d327ceb04262011d05006/static/fonts/Scriptin.ttf -------------------------------------------------------------------------------- /static/js/lazyload.min.js: -------------------------------------------------------------------------------- 1 | var _extends=Object.assign||function(t){for(var e=1;e-1&&(N(t,e),I(t,o.class_loading)),E(t,e),a(t),C(o.callback_set,t))}var e={elements_selector:"img",container:document,threshold:300,thresholds:null,data_src:"src",data_srcset:"srcset",data_sizes:"sizes",data_bg:"bg",class_loading:"loading",class_loaded:"loaded",class_error:"error",load_delay:0,callback_load:null,callback_error:null,callback_set:null,callback_enter:null,callback_finish:null,to_webp:!1},n=function(t){return _extends({},e,t)},o=function(t,e){return t.getAttribute("data-"+e)},r=function(t,e,n){var o="data-"+e;null!==n?t.setAttribute(o,n):t.removeAttribute(o)},a=function(t){return r(t,"was-processed","true")},i=function(t){return"true"===o(t,"was-processed")},s=function(t,e){return r(t,"ll-timeout",e)},c=function(t){return o(t,"ll-timeout")},l=function(t){return t.filter(function(t){return!i(t)})},u=function(t,e){return t.filter(function(t){return t!==e})},d=function(t,e){var n,o=new t(e);try{n=new CustomEvent("LazyLoad::Initialized",{detail:{instance:o}})}catch(t){(n=document.createEvent("CustomEvent")).initCustomEvent("LazyLoad::Initialized",!1,!1,{instance:o})}window.dispatchEvent(n)},f=function(t,e){return e?t.replace(/\.(jpe?g|png)/gi,".webp"):t},_="undefined"!=typeof window,v=_&&!("onscroll"in window)||/(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent),g=_&&"IntersectionObserver"in window,h=_&&"classList"in document.createElement("p"),b=_&&function(){var t=document.createElement("canvas");return!(!t.getContext||!t.getContext("2d"))&&0===t.toDataURL("image/webp").indexOf("data:image/webp")}(),m=function(t,e,n,r){for(var a,i=0;a=t.children[i];i+=1)if("SOURCE"===a.tagName){var s=o(a,n);p(a,e,s,r)}},p=function(t,e,n,o){n&&t.setAttribute(e,f(n,o))},y=function(t,e){var n=b&&e.to_webp,r=o(t,e.data_src),a=o(t,e.data_bg);if(r){var i=f(r,n);t.style.backgroundImage='url("'+i+'")'}if(a){var s=f(a,n);t.style.backgroundImage=s}},w={IMG:function(t,e){var n=b&&e.to_webp,r=e.data_srcset,a=t.parentNode;a&&"PICTURE"===a.tagName&&m(a,"srcset",r,n);var i=o(t,e.data_sizes);p(t,"sizes",i);var s=o(t,r);p(t,"srcset",s,n);var c=o(t,e.data_src);p(t,"src",c,n)},IFRAME:function(t,e){var n=o(t,e.data_src);p(t,"src",n)},VIDEO:function(t,e){var n=e.data_src,r=o(t,n);m(t,"src",n),p(t,"src",r),t.load()}},E=function(t,e){var n=e._settings,o=t.tagName,r=w[o];if(r)return r(t,n),e._updateLoadingCount(1),void(e._elements=u(e._elements,t));y(t,n)},I=function(t,e){h?t.classList.add(e):t.className+=(t.className?" ":"")+e},L=function(t,e){h?t.classList.remove(e):t.className=t.className.replace(new RegExp("(^|\\s+)"+e+"(\\s+|$)")," ").replace(/^\s+/,"").replace(/\s+$/,"")},C=function(t,e){t&&t(e)},O=function(t,e,n){t.addEventListener(e,n)},k=function(t,e,n){t.removeEventListener(e,n)},x=function(t,e,n){O(t,"load",e),O(t,"loadeddata",e),O(t,"error",n)},A=function(t,e,n){k(t,"load",e),k(t,"loadeddata",e),k(t,"error",n)},z=function(t,e,n){var o=n._settings,r=e?o.class_loaded:o.class_error,a=e?o.callback_load:o.callback_error,i=t.target;L(i,o.class_loading),I(i,r),C(a,i),n._updateLoadingCount(-1)},N=function(t,e){var n=function n(r){z(r,!0,e),A(t,n,o)},o=function o(r){z(r,!1,e),A(t,n,o)};x(t,n,o)},R=["IMG","IFRAME","VIDEO"],S=function(e,n,o){t(e,o),n.unobserve(e)},M=function(t){var e=c(t);e&&(clearTimeout(e),s(t,null))},j=function(t,e,n){var o=n._settings.load_delay,r=c(t);r||(r=setTimeout(function(){S(t,e,n),M(t)},o),s(t,r))},D=function(t){return t.isIntersecting||t.intersectionRatio>0},T=function(t){return{root:t.container===document?null:t.container,rootMargin:t.thresholds||t.threshold+"px"}},U=function(t,e){this._settings=n(t),this._setObserver(),this._loadingCount=0,this.update(e)};return U.prototype={_manageIntersection:function(t){var e=this._observer,n=this._settings.load_delay,o=t.target;n?D(t)?j(o,e,this):M(o):D(t)&&S(o,e,this)},_onIntersection:function(t){t.forEach(this._manageIntersection.bind(this))},_setObserver:function(){g&&(this._observer=new IntersectionObserver(this._onIntersection.bind(this),T(this._settings)))},_updateLoadingCount:function(t){this._loadingCount+=t,0===this._elements.length&&0===this._loadingCount&&C(this._settings.callback_finish)},update:function(t){var e=this,n=this._settings,o=t||n.container.querySelectorAll(n.elements_selector);this._elements=l(Array.prototype.slice.call(o)),!v&&this._observer?this._elements.forEach(function(t){e._observer.observe(t)}):this.loadAll()},destroy:function(){var t=this;this._observer&&(this._elements.forEach(function(e){t._observer.unobserve(e)}),this._observer=null),this._elements=null,this._settings=null},load:function(e,n){t(e,this,n)},loadAll:function(){var t=this;this._elements.forEach(function(e){t.load(e)})}},_&&function(t,e){if(e)if(e.length)for(var n,o=0;n=e[o];o+=1)d(t,n);else d(t,e)}(U,window.lazyLoadOptions),U}); 2 | -------------------------------------------------------------------------------- /theme.toml: -------------------------------------------------------------------------------- 1 | name = "simpleness" 2 | license = "MIT" 3 | licenselink = "https://github.com/RainerChiang/simpleness/blob/main/LICENSE" 4 | description = "A simple and concise Hugo theme" 5 | homepage = "https://github.com/RainerChiang/simpleness" 6 | tags = ["blog", "simple", "clean", "highlight", "readable"] 7 | features = ["blog", "simple", "clean", "highlight"] 8 | min_version = "0.51" 9 | 10 | [author] 11 | name = "Rainer Chiang" 12 | homepage = "https://rainerchiang.github.io/" 13 | repo = "https://github.com/RainerChiang/simpleness" 14 | 15 | [original.author] 16 | name = "Niklas Buschmann" 17 | homepage = "https://github.com/niklasbuschmann/" 18 | repo = "https://github.com/niklasbuschmann/contrast-hugo" 19 | --------------------------------------------------------------------------------