├── .gitignore ├── LICENSE.md ├── README.md ├── archetypes └── default.md ├── layouts ├── 404.html ├── _default │ ├── list.html │ └── single.html ├── index.html ├── mining │ └── single.html └── partials │ ├── commento.html │ ├── duoshuo.html │ ├── footer.html │ ├── header.html │ ├── mathjax.html │ └── tail.html ├── static ├── apple-touch-icon-precomposed.png ├── css │ ├── _bootstrap.scss │ ├── _custom.scss │ ├── scssgo │ ├── style.css │ ├── style.min.css │ └── style.scss └── favicon.ico └── theme.toml /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | *.swp 3 | static/css/bootstrap 4 | static/css/.sass-cache 5 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2017 Chingli 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 of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | 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, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # RockRock 2 | 3 | **RockRock** is a minimalist [Hugo](https://gohugo.io/) theme used by [Chingli's personal blog](http://www.chingli.com/). It's mainly suitable for Chinese users. 4 | 5 | **RockRock** 是一个极简的 [Hugo](https://gohugo.io/) 主题, 它最初用于[青砾的个人博客](http://www.chingli.com/). 该主题主要适用于中文用户. 6 | 7 | ## 安装 8 | 9 | 将其拷贝到Hugo的`themes`目录下: 10 | 11 | ``` 12 | $ cd themes 13 | $ git clone https://github.com/chingli/rockrock 14 | ``` 15 | 16 | ## 配置 17 | 18 | `config.toml` 文件的配置如下: 19 | 20 | ``` 21 | baseurl = "http://www.example.com/" 22 | languageCode = "zh-CN" 23 | hasCJKLanguage=true 24 | title = "Example" 25 | theme = "rockrock" 26 | 27 | [Params] 28 | subTitle = "你网站的描述" 29 | beian = "天ICP备88888888号" 30 | copyright = "2017 by You" 31 | ``` 32 | 33 | ## 自定义样式 34 | 35 | 本主题的样式表是根据 [Bootstrap](https://getbootstrap.com/) v4.0.0-alpha.6 的 [SASS](http://sass-lang.com/) 文件修改而来, 为了使所生成的 .css 文件最小, 舍弃了许多未用到的内容. 你可能需要根据自己的需求, 重新对样式文件进行修改: 36 | 37 | 1. 进入 `rockrock/static/css` 目录, 新建 `bootstrap` 目录. 38 | 2. 从 [Bootstrap](https://getbootstrap.com/) 网站下载v4版本的 Bootstrap 源文件, 解压之, 将其中 `scss` 目录下的所有内容复制到前面的 `bootstrap` 目录中. 39 | 3. 在 `css` 目录下, 编辑 `_bootstrap.scss` 文件以增减 Bootstrap 的文档部件. 例如, 加入你的网站需要使用网格系统, 则删除 `//@import "bootstrap/grid";` 行前面的注释符号. 40 | 4. 若要更改 Bootstrap 中的相关变量, 请复制 `bootstrap/_variables.scss` 中相应的行, 加入 `css` 目录下的 `_custom.scss` 中进行更改. 41 | 5. 其他样式的修改请在 `style.scss` 文件中进行. 42 | 6. 修改完成后, 在 `css` 目录下运行以下命令重新生成 `style.css` 文件(需要已经安装好 [SASS](http://sass-lang.com/)): 43 | 44 | ``` 45 | sass style.scss > style.css --style compressed 46 | ``` 47 | 48 | ## 其他 49 | 50 | 因为多说即将关闭, 本主题将不再集成多说. 我个人的博客将在从多说迁移到其他评论系统导入数据时总遇到一些问题, 因此目前本主题暂时没有集成评论系统. 将来我考虑把评论系统改为 [Commento](https://github.com/adtac/commento), 等我把自己的评论数据导入到 Commento, 并修改其评论主题后, 会将 Commento 集成到此主题中. 51 | 52 | 如果你想在博客中集成其他评论系统, 其仿照 `layouts/partials/duoshuo.html`文件和`layouts/_default/single.html` 文件的注释部分进行修改添加. 53 | 54 | 我自己的博客中 `content/mining` 目录下的文章是支持 [MathJax](https://www.mathjax.org/) 数学公式的, 而其他目录下的文章不支持. 因此我专门建立了`layouts/mining/single.html` 文件以适应这种需求. 如果你不需要 MathJax 支持, 就不必理会该文件. 如果你的所有文章都需要 MathJax 支持, 则请用 `layouts/mining/single.html` 替换 `layouts/_default/single.html`文件. 55 | 56 | ## License 57 | 58 | Open sourced under the [MIT license](https://github.com/chingli/rockrock/blob/master/LICENSE.md). 59 | -------------------------------------------------------------------------------- /archetypes/default.md: -------------------------------------------------------------------------------- 1 | +++ 2 | +++ 3 | -------------------------------------------------------------------------------- /layouts/404.html: -------------------------------------------------------------------------------- 1 | {{ partial "header.html" . }} 2 |
3 |

404: Page not found

4 |

Sorry, we've misplaced that URL or it's pointing to something that doesn't exist. Head back home to try finding it again.

5 |
6 | {{ partial "footer.html" . }} 7 | {{ partial "tail.html" . }} 8 | -------------------------------------------------------------------------------- /layouts/_default/list.html: -------------------------------------------------------------------------------- 1 | {{ partial "header.html" . }} 2 |
3 | 8 |
9 | {{ partial "footer.html" . }} 10 | -------------------------------------------------------------------------------- /layouts/_default/single.html: -------------------------------------------------------------------------------- 1 | {{ partial "header.html" . }} 2 |
3 |
4 |

{{ .Title }}

5 | 8 | {{ .Content }} 9 |
10 | 14 | 15 |
16 | {{ partial "footer.html" . }} 17 | {{ partial "tail.html" . }} 18 | -------------------------------------------------------------------------------- /layouts/index.html: -------------------------------------------------------------------------------- 1 | {{ partial "header.html" . }} 2 |
3 |
{{ range (.Paginator 5).Pages }} 4 |
5 |

{{ .Title }}

6 | 9 | {{ .Summary }} 10 | {{ if .Truncated }} 11 | 14 | {{ end }} 15 |
16 | {{ end }} 17 |
18 | 19 | 24 |
25 | {{ partial "footer.html" . }} 26 | {{ partial "tail.html" . }} 27 | -------------------------------------------------------------------------------- /layouts/mining/single.html: -------------------------------------------------------------------------------- 1 | {{ partial "header.html" . }} 2 |
3 |
4 |

{{ .Title }}

5 | 8 | {{ .Content }} 9 |
10 | 14 | 15 |
16 | {{ partial "footer.html" . }} 17 | {{ partial "mathjax.html" . }} 18 | {{ partial "tail.html" . }} 19 | -------------------------------------------------------------------------------- /layouts/partials/commento.html: -------------------------------------------------------------------------------- 1 | 2 | {{ if .Site.Params.CommentoURL }} 3 | 4 | 9 |
10 |
11 | {{ end }} -------------------------------------------------------------------------------- /layouts/partials/duoshuo.html: -------------------------------------------------------------------------------- 1 | 2 |
3 | 4 | 5 | 16 | 17 | -------------------------------------------------------------------------------- /layouts/partials/footer.html: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /layouts/partials/header.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | {{ .Title }} 8 | 9 | 10 | 11 | 12 | 13 | 19 | 33 | -------------------------------------------------------------------------------- /layouts/partials/mathjax.html: -------------------------------------------------------------------------------- 1 | 13 | 14 | 22 | -------------------------------------------------------------------------------- /layouts/partials/tail.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /static/apple-touch-icon-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chingli/rockrock/f523e34db1e0baee19f14cc5627f4ab189e5c658/static/apple-touch-icon-precomposed.png -------------------------------------------------------------------------------- /static/css/_bootstrap.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com) 3 | * Copyright 2011-2017 The Bootstrap Authors 4 | * Copyright 2011-2017 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 6 | */ 7 | 8 | // Core variables and mixins 9 | @import "bootstrap/variables"; 10 | @import "bootstrap/mixins"; 11 | @import "custom"; 12 | 13 | // Reset and dependencies 14 | @import "bootstrap/normalize"; 15 | @import "bootstrap/print"; 16 | 17 | // Core CSS 18 | @import "bootstrap/reboot"; 19 | @import "bootstrap/type"; 20 | @import "bootstrap/images"; 21 | @import "bootstrap/code"; 22 | //@import "bootstrap/grid"; 23 | //@import "bootstrap/tables"; 24 | //@import "bootstrap/forms"; 25 | //@import "bootstrap/buttons"; 26 | 27 | // Components 28 | //@import "bootstrap/transitions"; 29 | //@import "bootstrap/dropdown"; 30 | //@import "bootstrap/button-group"; 31 | //@import "bootstrap/input-group"; 32 | //@import "bootstrap/custom-forms"; 33 | //@import "bootstrap/nav"; 34 | //@import "bootstrap/navbar"; 35 | //@import "bootstrap/card"; 36 | //@import "bootstrap/breadcrumb"; 37 | //@import "bootstrap/pagination"; 38 | //@import "bootstrap/badge"; 39 | //@import "bootstrap/jumbotron"; 40 | //@import "bootstrap/alert"; 41 | //@import "bootstrap/progress"; 42 | //@import "bootstrap/media"; 43 | //@import "bootstrap/list-group"; 44 | //@import "bootstrap/responsive-embed"; 45 | //@import "bootstrap/close"; 46 | 47 | // Components w/ JavaScript 48 | //@import "bootstrap/modal"; 49 | //@import "bootstrap/tooltip"; 50 | //@import "bootstrap/popover"; 51 | //@import "bootstrap/carousel"; 52 | 53 | // Utility classes 54 | //@import "bootstrap/utilities"; 55 | 56 | -------------------------------------------------------------------------------- /static/css/_custom.scss: -------------------------------------------------------------------------------- 1 | // Bootstrap overrides 2 | // 3 | // Copy variables from `_variables.scss` to this file to override default values 4 | // without modifying source files. 5 | $font-family-sans-serif: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft Yahei", "Noto Sans CJK SC", ans-serif; 6 | $font-family-serif: "Times New Roman", Georgia, Times, "PingFang SC", "Hiragino Sans GB", "Microsoft Yahei", "Noto Sans CJK SC", serif; 7 | $font-family-monospace: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", "PingFang SC", "Hiragino Sans GB", "Microsoft Yahei", "Noto Sans CJK SC", monospace; 8 | $font-family-base: $font-family-serif; 9 | 10 | $link-color: #295b78; 11 | $link-hover-color: darken($link-color, 15%); 12 | 13 | $font-size-h1: 1.875rem; 14 | $font-size-h2: 1.625rem; 15 | $font-size-h3: 1.375rem; 16 | $font-size-h4: 1.25rem; 17 | $font-size-h5: 1.125rem; 18 | $font-size-h6: 1rem; 19 | 20 | /* Code 21 | -------------------------------------------------- */ 22 | $code-color: $gray-dark; 23 | $code-bg: $gray-lightest; 24 | 25 | img { 26 | @include img-fluid; 27 | } 28 | -------------------------------------------------------------------------------- /static/css/scssgo: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | sass style.scss > style.min.css --style compressed 3 | sass style.scss > style.css 4 | -------------------------------------------------------------------------------- /static/css/style.css: -------------------------------------------------------------------------------- 1 | html { 2 | font-size: 16px; } 3 | 4 | /*! 5 | * Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com) 6 | * Copyright 2011-2017 The Bootstrap Authors 7 | * Copyright 2011-2017 Twitter, Inc. 8 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 9 | */ 10 | /* Code 11 | -------------------------------------------------- */ 12 | img { 13 | max-width: 100%; 14 | height: auto; } 15 | 16 | /*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */ 17 | html { 18 | font-family: sans-serif; 19 | line-height: 1.15; 20 | -ms-text-size-adjust: 100%; 21 | -webkit-text-size-adjust: 100%; } 22 | 23 | body { 24 | margin: 0; } 25 | 26 | article, 27 | aside, 28 | footer, 29 | header, 30 | nav, 31 | section { 32 | display: block; } 33 | 34 | h1 { 35 | font-size: 2em; 36 | margin: 0.67em 0; } 37 | 38 | figcaption, 39 | figure, 40 | main { 41 | display: block; } 42 | 43 | figure { 44 | margin: 1em 40px; } 45 | 46 | hr { 47 | box-sizing: content-box; 48 | height: 0; 49 | overflow: visible; } 50 | 51 | pre { 52 | font-family: monospace, monospace; 53 | font-size: 1em; } 54 | 55 | a { 56 | background-color: transparent; 57 | -webkit-text-decoration-skip: objects; } 58 | 59 | a:active, 60 | a:hover { 61 | outline-width: 0; } 62 | 63 | abbr[title] { 64 | border-bottom: none; 65 | text-decoration: underline; 66 | text-decoration: underline dotted; } 67 | 68 | b, 69 | strong { 70 | font-weight: inherit; } 71 | 72 | b, 73 | strong { 74 | font-weight: bolder; } 75 | 76 | code, 77 | kbd, 78 | samp { 79 | font-family: monospace, monospace; 80 | font-size: 1em; } 81 | 82 | dfn { 83 | font-style: italic; } 84 | 85 | mark { 86 | background-color: #ff0; 87 | color: #000; } 88 | 89 | small { 90 | font-size: 80%; } 91 | 92 | sub, 93 | sup { 94 | font-size: 75%; 95 | line-height: 0; 96 | position: relative; 97 | vertical-align: baseline; } 98 | 99 | sub { 100 | bottom: -0.25em; } 101 | 102 | sup { 103 | top: -0.5em; } 104 | 105 | audio, 106 | video { 107 | display: inline-block; } 108 | 109 | audio:not([controls]) { 110 | display: none; 111 | height: 0; } 112 | 113 | img { 114 | border-style: none; } 115 | 116 | svg:not(:root) { 117 | overflow: hidden; } 118 | 119 | button, 120 | input, 121 | optgroup, 122 | select, 123 | textarea { 124 | font-family: sans-serif; 125 | font-size: 100%; 126 | line-height: 1.15; 127 | margin: 0; } 128 | 129 | button, 130 | input { 131 | overflow: visible; } 132 | 133 | button, 134 | select { 135 | text-transform: none; } 136 | 137 | button, 138 | html [type="button"], 139 | [type="reset"], 140 | [type="submit"] { 141 | -webkit-appearance: button; } 142 | 143 | button::-moz-focus-inner, 144 | [type="button"]::-moz-focus-inner, 145 | [type="reset"]::-moz-focus-inner, 146 | [type="submit"]::-moz-focus-inner { 147 | border-style: none; 148 | padding: 0; } 149 | 150 | button:-moz-focusring, 151 | [type="button"]:-moz-focusring, 152 | [type="reset"]:-moz-focusring, 153 | [type="submit"]:-moz-focusring { 154 | outline: 1px dotted ButtonText; } 155 | 156 | fieldset { 157 | border: 1px solid #c0c0c0; 158 | margin: 0 2px; 159 | padding: 0.35em 0.625em 0.75em; } 160 | 161 | legend { 162 | box-sizing: border-box; 163 | color: inherit; 164 | display: table; 165 | max-width: 100%; 166 | padding: 0; 167 | white-space: normal; } 168 | 169 | progress { 170 | display: inline-block; 171 | vertical-align: baseline; } 172 | 173 | textarea { 174 | overflow: auto; } 175 | 176 | [type="checkbox"], 177 | [type="radio"] { 178 | box-sizing: border-box; 179 | padding: 0; } 180 | 181 | [type="number"]::-webkit-inner-spin-button, 182 | [type="number"]::-webkit-outer-spin-button { 183 | height: auto; } 184 | 185 | [type="search"] { 186 | -webkit-appearance: textfield; 187 | outline-offset: -2px; } 188 | 189 | [type="search"]::-webkit-search-cancel-button, 190 | [type="search"]::-webkit-search-decoration { 191 | -webkit-appearance: none; } 192 | 193 | ::-webkit-file-upload-button { 194 | -webkit-appearance: button; 195 | font: inherit; } 196 | 197 | details, 198 | menu { 199 | display: block; } 200 | 201 | summary { 202 | display: list-item; } 203 | 204 | canvas { 205 | display: inline-block; } 206 | 207 | template { 208 | display: none; } 209 | 210 | [hidden] { 211 | display: none; } 212 | 213 | @media print { 214 | *, 215 | *::before, 216 | *::after, 217 | p::first-letter, 218 | div::first-letter, 219 | blockquote::first-letter, 220 | li::first-letter, 221 | p::first-line, 222 | div::first-line, 223 | blockquote::first-line, 224 | li::first-line { 225 | text-shadow: none !important; 226 | box-shadow: none !important; } 227 | 228 | a, 229 | a:visited { 230 | text-decoration: underline; } 231 | 232 | abbr[title]::after { 233 | content: " (" attr(title) ")"; } 234 | 235 | pre { 236 | white-space: pre-wrap !important; } 237 | 238 | pre, 239 | blockquote { 240 | border: 1px solid #999; 241 | page-break-inside: avoid; } 242 | 243 | thead { 244 | display: table-header-group; } 245 | 246 | tr, 247 | img { 248 | page-break-inside: avoid; } 249 | 250 | p, 251 | h2, 252 | h3 { 253 | orphans: 3; 254 | widows: 3; } 255 | 256 | h2, 257 | h3 { 258 | page-break-after: avoid; } 259 | 260 | .navbar { 261 | display: none; } 262 | 263 | .badge { 264 | border: 1px solid #000; } 265 | 266 | .table { 267 | border-collapse: collapse !important; } 268 | .table td, 269 | .table th { 270 | background-color: #fff !important; } 271 | 272 | .table-bordered th, 273 | .table-bordered td { 274 | border: 1px solid #ddd !important; } } 275 | html { 276 | box-sizing: border-box; } 277 | 278 | *, 279 | *::before, 280 | *::after { 281 | box-sizing: inherit; } 282 | 283 | @-ms-viewport { 284 | width: device-width; } 285 | html { 286 | -ms-overflow-style: scrollbar; 287 | -webkit-tap-highlight-color: transparent; } 288 | 289 | body { 290 | font-family: "Times New Roman", Georgia, Times, "PingFang SC", "Hiragino Sans GB", "Microsoft Yahei", "Noto Sans CJK SC", serif; 291 | font-size: 1rem; 292 | font-weight: normal; 293 | line-height: 1.5; 294 | color: #292b2c; 295 | background-color: #fff; } 296 | 297 | [tabindex="-1"]:focus { 298 | outline: none !important; } 299 | 300 | h1, h2, h3, h4, h5, h6 { 301 | margin-top: 0; 302 | margin-bottom: .5rem; } 303 | 304 | p { 305 | margin-top: 0; 306 | margin-bottom: 1rem; } 307 | 308 | abbr[title], 309 | abbr[data-original-title] { 310 | cursor: help; } 311 | 312 | address { 313 | margin-bottom: 1rem; 314 | font-style: normal; 315 | line-height: inherit; } 316 | 317 | ol, 318 | ul, 319 | dl { 320 | margin-top: 0; 321 | margin-bottom: 1rem; } 322 | 323 | ol ol, 324 | ul ul, 325 | ol ul, 326 | ul ol { 327 | margin-bottom: 0; } 328 | 329 | dt { 330 | font-weight: bold; } 331 | 332 | dd { 333 | margin-bottom: .5rem; 334 | margin-left: 0; } 335 | 336 | blockquote { 337 | margin: 0 0 1rem; } 338 | 339 | a { 340 | color: #295b78; 341 | text-decoration: none; } 342 | a:focus, a:hover { 343 | color: #16303f; 344 | text-decoration: underline; } 345 | 346 | a:not([href]):not([tabindex]) { 347 | color: inherit; 348 | text-decoration: none; } 349 | a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover { 350 | color: inherit; 351 | text-decoration: none; } 352 | a:not([href]):not([tabindex]):focus { 353 | outline: 0; } 354 | 355 | pre { 356 | margin-top: 0; 357 | margin-bottom: 1rem; 358 | overflow: auto; } 359 | 360 | figure { 361 | margin: 0 0 1rem; } 362 | 363 | img { 364 | vertical-align: middle; } 365 | 366 | [role="button"] { 367 | cursor: pointer; } 368 | 369 | a, 370 | area, 371 | button, 372 | [role="button"], 373 | input, 374 | label, 375 | select, 376 | summary, 377 | textarea { 378 | touch-action: manipulation; } 379 | 380 | table { 381 | border-collapse: collapse; 382 | background-color: transparent; } 383 | 384 | caption { 385 | padding-top: 0.75rem; 386 | padding-bottom: 0.75rem; 387 | color: #636c72; 388 | text-align: left; 389 | caption-side: bottom; } 390 | 391 | th { 392 | text-align: left; } 393 | 394 | label { 395 | display: inline-block; 396 | margin-bottom: .5rem; } 397 | 398 | button:focus { 399 | outline: 1px dotted; 400 | outline: 5px auto -webkit-focus-ring-color; } 401 | 402 | input, 403 | button, 404 | select, 405 | textarea { 406 | line-height: inherit; } 407 | 408 | input[type="radio"]:disabled, 409 | input[type="checkbox"]:disabled { 410 | cursor: not-allowed; } 411 | 412 | input[type="date"], 413 | input[type="time"], 414 | input[type="datetime-local"], 415 | input[type="month"] { 416 | -webkit-appearance: listbox; } 417 | 418 | textarea { 419 | resize: vertical; } 420 | 421 | fieldset { 422 | min-width: 0; 423 | padding: 0; 424 | margin: 0; 425 | border: 0; } 426 | 427 | legend { 428 | display: block; 429 | width: 100%; 430 | padding: 0; 431 | margin-bottom: .5rem; 432 | font-size: 1.5rem; 433 | line-height: inherit; } 434 | 435 | input[type="search"] { 436 | -webkit-appearance: none; } 437 | 438 | output { 439 | display: inline-block; } 440 | 441 | [hidden] { 442 | display: none !important; } 443 | 444 | h1, h2, h3, h4, h5, h6, 445 | .h1, .h2, .h3, .h4, .h5, .h6 { 446 | margin-bottom: 0.5rem; 447 | font-family: inherit; 448 | font-weight: 500; 449 | line-height: 1.1; 450 | color: inherit; } 451 | 452 | h1, .h1 { 453 | font-size: 1.875rem; } 454 | 455 | h2, .h2 { 456 | font-size: 1.625rem; } 457 | 458 | h3, .h3 { 459 | font-size: 1.375rem; } 460 | 461 | h4, .h4 { 462 | font-size: 1.25rem; } 463 | 464 | h5, .h5 { 465 | font-size: 1.125rem; } 466 | 467 | h6, .h6 { 468 | font-size: 1rem; } 469 | 470 | .lead { 471 | font-size: 1.25rem; 472 | font-weight: 300; } 473 | 474 | .display-1 { 475 | font-size: 6rem; 476 | font-weight: 300; 477 | line-height: 1.1; } 478 | 479 | .display-2 { 480 | font-size: 5.5rem; 481 | font-weight: 300; 482 | line-height: 1.1; } 483 | 484 | .display-3 { 485 | font-size: 4.5rem; 486 | font-weight: 300; 487 | line-height: 1.1; } 488 | 489 | .display-4 { 490 | font-size: 3.5rem; 491 | font-weight: 300; 492 | line-height: 1.1; } 493 | 494 | hr { 495 | margin-top: 1rem; 496 | margin-bottom: 1rem; 497 | border: 0; 498 | border-top: 1px solid rgba(0, 0, 0, 0.1); } 499 | 500 | small, 501 | .small { 502 | font-size: 80%; 503 | font-weight: normal; } 504 | 505 | mark, 506 | .mark { 507 | padding: 0.2em; 508 | background-color: #fcf8e3; } 509 | 510 | .list-unstyled { 511 | padding-left: 0; 512 | list-style: none; } 513 | 514 | .list-inline { 515 | padding-left: 0; 516 | list-style: none; } 517 | 518 | .list-inline-item { 519 | display: inline-block; } 520 | .list-inline-item:not(:last-child) { 521 | margin-right: 5px; } 522 | 523 | .initialism { 524 | font-size: 90%; 525 | text-transform: uppercase; } 526 | 527 | .blockquote { 528 | padding: 0.5rem 1rem; 529 | margin-bottom: 1rem; 530 | font-size: 1.25rem; 531 | border-left: 0.25rem solid #eceeef; } 532 | 533 | .blockquote-footer { 534 | display: block; 535 | font-size: 80%; 536 | color: #636c72; } 537 | .blockquote-footer::before { 538 | content: "\2014 \00A0"; } 539 | 540 | .blockquote-reverse { 541 | padding-right: 1rem; 542 | padding-left: 0; 543 | text-align: right; 544 | border-right: 0.25rem solid #eceeef; 545 | border-left: 0; } 546 | 547 | .blockquote-reverse .blockquote-footer::before { 548 | content: ""; } 549 | .blockquote-reverse .blockquote-footer::after { 550 | content: "\00A0 \2014"; } 551 | 552 | .img-fluid { 553 | max-width: 100%; 554 | height: auto; } 555 | 556 | .img-thumbnail { 557 | padding: 0.25rem; 558 | background-color: #fff; 559 | border: 1px solid #ddd; 560 | border-radius: 0.25rem; 561 | transition: all 0.2s ease-in-out; 562 | max-width: 100%; 563 | height: auto; } 564 | 565 | .figure { 566 | display: inline-block; } 567 | 568 | .figure-img { 569 | margin-bottom: 0.5rem; 570 | line-height: 1; } 571 | 572 | .figure-caption { 573 | font-size: 90%; 574 | color: #636c72; } 575 | 576 | code, 577 | kbd, 578 | pre, 579 | samp { 580 | font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", "PingFang SC", "Hiragino Sans GB", "Microsoft Yahei", "Noto Sans CJK SC", monospace; } 581 | 582 | code { 583 | padding: 0.2rem 0.4rem; 584 | font-size: 90%; 585 | color: #292b2c; 586 | background-color: #f7f7f9; 587 | border-radius: 0.25rem; } 588 | a > code { 589 | padding: 0; 590 | color: inherit; 591 | background-color: inherit; } 592 | 593 | kbd { 594 | padding: 0.2rem 0.4rem; 595 | font-size: 90%; 596 | color: #fff; 597 | background-color: #292b2c; 598 | border-radius: 0.2rem; } 599 | kbd kbd { 600 | padding: 0; 601 | font-size: 100%; 602 | font-weight: bold; } 603 | 604 | pre { 605 | display: block; 606 | margin-top: 0; 607 | margin-bottom: 1rem; 608 | font-size: 90%; 609 | color: #292b2c; } 610 | pre code { 611 | padding: 0; 612 | font-size: inherit; 613 | color: inherit; 614 | background-color: transparent; 615 | border-radius: 0; } 616 | 617 | .pre-scrollable { 618 | max-height: 340px; 619 | overflow-y: scroll; } 620 | 621 | /* Layout 622 | -------------------------------------------------- */ 623 | .container { 624 | margin-left: auto; 625 | margin-right: auto; 626 | padding-left: 1rem; 627 | padding-right: 1rem; } 628 | 629 | @media (min-width: 52rem) { 630 | .container { 631 | max-width: 52rem; } } 632 | @media (max-width: 51rem) { 633 | .container { 634 | padding-left: 0.5rem; 635 | padding-right: 0.5rem; } } 636 | /* General 637 | -------------------------------------------------- */ 638 | .text-muted { 639 | color: #636c72; } 640 | .text-muted a { 641 | color: #6daacd; } 642 | 643 | pre { 644 | padding: 0.5rem 0 0.5rem 1rem; 645 | background-color: #f7f7f9; 646 | border-radius: 0.25rem; } 647 | 648 | /* Header 649 | -------------------------------------------------- */ 650 | .site-header { 651 | padding-top: 3rem; 652 | padding-bottom: 1rem; 653 | text-align: center; } 654 | .site-header .site-title { 655 | font-size: 4rem; } 656 | .site-header .site-title a { 657 | text-decoration: none; 658 | color: #2D4059; } 659 | .site-header .blog-description { 660 | font-size: 1.5rem; 661 | color: #636c72; } 662 | 663 | .main-nav { 664 | margin-bottom: 1rem; 665 | text-align: center; } 666 | 667 | .main-menu { 668 | padding-left: 0; 669 | list-style: none; 670 | line-height: 2.5rem; 671 | border-top: 1px solid #d0d5da; 672 | border-bottom: 1px solid #d0d5da; } 673 | .main-menu li { 674 | display: inline-block; 675 | padding-left: 0.5rem; 676 | padding-right: 0.5rem; } 677 | .main-menu a { 678 | color: #364c6a; } 679 | 680 | @media (max-width: 52rem) { 681 | .site-header { 682 | padding-top: 1rem; 683 | padding-bottom: 0.5rem; } 684 | .site-header .site-title { 685 | font-size: 3rem; } 686 | .site-header .blog-description { 687 | font-size: 1rem; } 688 | 689 | .main-menu { 690 | line-height: 2rem; } } 691 | /* Post 692 | -------------------------------------------------- */ 693 | .post { 694 | padding-top: 2rem; } 695 | 696 | .post-meta p { 697 | font-size: 0.9rem; 698 | padding: 0.25rem 0.5rem; 699 | margin-bottom: 0.5rem; 700 | text-align: right; 701 | color: #636c72; 702 | background-color: #f5f6f7; } 703 | .post-meta p a { 704 | color: #364c6a; } 705 | 706 | /* Home 707 | -------------------------------------------------- */ 708 | .posts > .summary { 709 | border-bottom: 4px solid #edeef0; 710 | padding-top: 2rem; 711 | padding-bottom: 1rem; } 712 | 713 | div.read-more-link { 714 | text-align: right; } 715 | 716 | /* Post list 717 | -------------------------------------------------- */ 718 | .post-list { 719 | line-height: 2rem; } 720 | .post-list .post-title { 721 | font-size: 1.25rem; } 722 | 723 | /* Pager 724 | -------------------------------------------------- */ 725 | .pager { 726 | padding-left: 0; 727 | margin: 2rem 0; 728 | list-style: none; 729 | text-align: center; 730 | color: #636c72; } 731 | .pager li { 732 | display: inline; } 733 | .pager li > a, 734 | .pager li > span { 735 | display: inline-block; 736 | padding: 5px 14px; } 737 | .pager li > a { 738 | background-color: #f5f6f7; 739 | border: 1px solid #d0d5da; 740 | border-radius: 15px; } 741 | .pager li > a:hover, 742 | .pager li > a:focus { 743 | text-decoration: none; 744 | background-color: #eeeeee; } 745 | .pager .next > a, 746 | .pager .next > span { 747 | float: right; } 748 | .pager .previous > a, 749 | .pager .previous > span { 750 | float: left; } 751 | 752 | @media (max-width: 32rem) { 753 | .pager li > span, 754 | .pager .next > a, 755 | .pager .next > span, 756 | .pager .previous > a, 757 | .pager .previous > span { 758 | display: block; 759 | float: none; } } 760 | /* Footer 761 | -------------------------------------------------- */ 762 | .site-footer { 763 | background-color: #edeef0; 764 | border-top: 1px solid #d0d5da; 765 | margin-top: 1rem; } 766 | 767 | .site-footer > .container { 768 | padding: 2rem 1rem 1rem; } 769 | -------------------------------------------------------------------------------- /static/css/style.min.css: -------------------------------------------------------------------------------- 1 | html{font-size:16px}/*! 2 | * Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com) 3 | * Copyright 2011-2017 The Bootstrap Authors 4 | * Copyright 2011-2017 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 6 | */img{max-width:100%;height:auto}/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:0.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}@media print{*,*::before,*::after,p::first-letter,div::first-letter,blockquote::first-letter,li::first-letter,p::first-line,div::first-line,blockquote::first-line,li::first-line{text-shadow:none !important;box-shadow:none !important}a,a:visited{text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap !important}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}@-ms-viewport{width:device-width}html{-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}body{font-family:"Times New Roman",Georgia,Times,"PingFang SC","Hiragino Sans GB","Microsoft Yahei","Noto Sans CJK SC",serif;font-size:1rem;font-weight:normal;line-height:1.5;color:#292b2c;background-color:#fff}[tabindex="-1"]:focus{outline:none !important}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[title],abbr[data-original-title]{cursor:help}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:bold}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}a{color:#295b78;text-decoration:none}a:focus,a:hover{color:#16303f;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle}[role="button"]{cursor:pointer}a,area,button,[role="button"],input,label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse;background-color:transparent}caption{padding-top:.75rem;padding-bottom:.75rem;color:#636c72;text-align:left;caption-side:bottom}th{text-align:left}label{display:inline-block;margin-bottom:.5rem}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}input,button,select,textarea{line-height:inherit}input[type="radio"]:disabled,input[type="checkbox"]:disabled{cursor:not-allowed}input[type="date"],input[type="time"],input[type="datetime-local"],input[type="month"]{-webkit-appearance:listbox}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit}input[type="search"]{-webkit-appearance:none}output{display:inline-block}[hidden]{display:none !important}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1,.h1{font-size:1.875rem}h2,.h2{font-size:1.625rem}h3,.h3{font-size:1.375rem}h4,.h4{font-size:1.25rem}h5,.h5{font-size:1.125rem}h6,.h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.1}.display-2{font-size:5.5rem;font-weight:300;line-height:1.1}.display-3{font-size:4.5rem;font-weight:300;line-height:1.1}.display-4{font-size:3.5rem;font-weight:300;line-height:1.1}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,0.1)}small,.small{font-size:80%;font-weight:normal}mark,.mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:5px}.initialism{font-size:90%;text-transform:uppercase}.blockquote{padding:.5rem 1rem;margin-bottom:1rem;font-size:1.25rem;border-left:.25rem solid #eceeef}.blockquote-footer{display:block;font-size:80%;color:#636c72}.blockquote-footer::before{content:"\2014 \00A0"}.blockquote-reverse{padding-right:1rem;padding-left:0;text-align:right;border-right:.25rem solid #eceeef;border-left:0}.blockquote-reverse .blockquote-footer::before{content:""}.blockquote-reverse .blockquote-footer::after{content:"\00A0 \2014"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #ddd;border-radius:.25rem;transition:all 0.2s ease-in-out;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#636c72}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Liberation Mono","Courier New","PingFang SC","Hiragino Sans GB","Microsoft Yahei","Noto Sans CJK SC",monospace}code{padding:.2rem .4rem;font-size:90%;color:#292b2c;background-color:#f7f7f9;border-radius:.25rem}a>code{padding:0;color:inherit;background-color:inherit}kbd{padding:.2rem .4rem;font-size:90%;color:#fff;background-color:#292b2c;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:bold}pre{display:block;margin-top:0;margin-bottom:1rem;font-size:90%;color:#292b2c}pre code{padding:0;font-size:inherit;color:inherit;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}@media (min-width: 52rem){.container{max-width:52rem}}@media (max-width: 51rem){.container{padding-left:0.5rem;padding-right:0.5rem}}.text-muted{color:#636c72}.text-muted a{color:#6daacd}pre{padding:0.5rem 0 0.5rem 1rem;background-color:#f7f7f9;border-radius:.25rem}.site-header{padding-top:3rem;padding-bottom:1rem;text-align:center}.site-header .site-title{font-size:4rem}.site-header .site-title a{text-decoration:none;color:#2D4059}.site-header .blog-description{font-size:1.5rem;color:#636c72}.main-nav{margin-bottom:1rem;text-align:center}.main-menu{padding-left:0;list-style:none;line-height:2.5rem;border-top:1px solid #d0d5da;border-bottom:1px solid #d0d5da}.main-menu li{display:inline-block;padding-left:0.5rem;padding-right:0.5rem}.main-menu a{color:#364c6a}@media (max-width: 52rem){.site-header{padding-top:1rem;padding-bottom:0.5rem}.site-header .site-title{font-size:3rem}.site-header .blog-description{font-size:1rem}.main-menu{line-height:2rem}}.post{padding-top:2rem}.post-meta p{font-size:0.9rem;padding:0.25rem 0.5rem;margin-bottom:0.5rem;text-align:right;color:#636c72;background-color:#f5f6f7}.post-meta p a{color:#364c6a}.posts>.summary{border-bottom:4px solid #edeef0;padding-top:2rem;padding-bottom:1rem}div.read-more-link{text-align:right}.post-list{line-height:2rem}.post-list .post-title{font-size:1.25rem}.pager{padding-left:0;margin:2rem 0;list-style:none;text-align:center;color:#636c72}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px}.pager li>a{background-color:#f5f6f7;border:1px solid #d0d5da;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eeeeee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}@media (max-width: 32rem){.pager li>span,.pager .next>a,.pager .next>span,.pager .previous>a,.pager .previous>span{display:block;float:none}}.site-footer{background-color:#edeef0;border-top:1px solid #d0d5da;margin-top:1rem}.site-footer>.container{padding:2rem 1rem 1rem} 7 | -------------------------------------------------------------------------------- /static/css/style.scss: -------------------------------------------------------------------------------- 1 | html { 2 | font-size: 16px; 3 | } 4 | 5 | // light bg color 6 | $frail: #f5f6f7; 7 | $frail-d: darken($frail, 3%); 8 | $frail-dd: darken($frail-d,10%); 9 | $frail-ddd: darken($frail-dd,10%); 10 | 11 | // dark front color 12 | $sturdy: #2D4059; 13 | $sturdy-l: lighten($sturdy, 5%); 14 | $sturdy-ll: lighten($sturdy-l, 10%); 15 | 16 | @import "bootstrap"; 17 | 18 | /* Layout 19 | -------------------------------------------------- */ 20 | // Narrow page 21 | .container { 22 | margin-left: auto; 23 | margin-right: auto; 24 | padding-left: 1rem; 25 | padding-right: 1rem; 26 | } 27 | @media (min-width: 52rem) { 28 | .container { 29 | max-width: 52rem; 30 | } 31 | } 32 | @media (max-width: 51rem) { 33 | .container { 34 | padding-left: 0.5rem; 35 | padding-right: 0.5rem; 36 | } 37 | } 38 | 39 | /* General 40 | -------------------------------------------------- */ 41 | .text-muted { 42 | color: #636c72; 43 | a { 44 | color: lighten($link-color, 30%); 45 | } 46 | } 47 | pre { 48 | padding: 0.5rem 0 0.5rem 1rem; 49 | background-color: $code-bg; 50 | @include border-radius(0.25rem); 51 | } 52 | 53 | /* Header 54 | -------------------------------------------------- */ 55 | $site-title-color: $sturdy; 56 | .site-header { 57 | padding-top: 3rem; 58 | padding-bottom: 1rem; 59 | text-align: center; 60 | .site-title { 61 | font-size: 4rem; 62 | a { 63 | text-decoration: none; 64 | color: $site-title-color; 65 | } 66 | } 67 | .blog-description { 68 | font-size: 1.5rem; 69 | color: $gray-light; 70 | } 71 | } 72 | // Nav 73 | .main-nav { 74 | margin-bottom: 1rem; 75 | text-align: center; 76 | } 77 | .main-menu { 78 | padding-left: 0; 79 | list-style: none; 80 | //font-size: 1.25rem; 81 | line-height: 2.5rem; 82 | border-top: 1px solid $frail-dd; 83 | border-bottom: 1px solid $frail-dd; 84 | li { 85 | display: inline-block; 86 | padding-left: 0.5rem; 87 | padding-right: 0.5rem; 88 | } 89 | a { 90 | color: $sturdy-l; 91 | } 92 | } 93 | @media (max-width: 52rem) { 94 | .site-header { 95 | padding-top: 1rem; 96 | padding-bottom: 0.5rem; 97 | .site-title { 98 | font-size: 3rem; 99 | } 100 | .blog-description { 101 | font-size: 1rem; 102 | } 103 | } 104 | .main-menu { 105 | //font-size: 1.25rem; 106 | line-height: 2rem; 107 | } 108 | } 109 | 110 | /* Post 111 | -------------------------------------------------- */ 112 | .post { 113 | padding-top: 2rem; 114 | } 115 | .post-meta p { 116 | font-size: 0.9rem; 117 | padding: 0.25rem 0.5rem; 118 | margin-bottom: 0.5rem; 119 | text-align: right; 120 | color: $gray-light; 121 | background-color: $frail; 122 | a { 123 | color: $sturdy-l; 124 | } 125 | } 126 | 127 | /* Home 128 | -------------------------------------------------- */ 129 | .posts > .summary { 130 | border-bottom: 4px solid $frail-d; 131 | padding-top: 2rem; 132 | padding-bottom: 1rem; 133 | } 134 | div.read-more-link { 135 | text-align: right; 136 | } 137 | 138 | /* Post list 139 | -------------------------------------------------- */ 140 | .post-list { 141 | line-height: 2rem; 142 | .post-title { 143 | font-size: 1.25rem; 144 | } 145 | } 146 | 147 | /* Pager 148 | -------------------------------------------------- */ 149 | .pager { 150 | padding-left:0; 151 | margin: 2rem 0; 152 | list-style:none; 153 | text-align:center; 154 | color: $gray-light; 155 | li { 156 | display:inline; 157 | } 158 | li > a, 159 | li > span { 160 | display:inline-block; 161 | padding:5px 14px; 162 | } 163 | li > a { 164 | background-color: $frail; 165 | border:1px solid $frail-dd; 166 | border-radius:15px; 167 | } 168 | li > a:hover, 169 | li > a:focus { 170 | text-decoration:none; 171 | background-color:#eeeeee; 172 | } 173 | .next > a, 174 | .next > span { 175 | float:right; 176 | } 177 | .previous > a, 178 | .previous > span { 179 | float:left; 180 | } 181 | } 182 | 183 | @media (max-width: 32rem) { 184 | .pager { 185 | li > span, 186 | .next > a, 187 | .next > span, 188 | .previous > a, 189 | .previous > span { 190 | display: block; 191 | float: none; 192 | } 193 | } 194 | } 195 | 196 | /* Footer 197 | -------------------------------------------------- */ 198 | .site-footer { 199 | background-color: $frail-d; 200 | border-top: 1px solid $frail-dd; 201 | margin-top: 1rem; 202 | } 203 | .site-footer > .container { 204 | padding: 2rem 1rem 1rem; 205 | } 206 | -------------------------------------------------------------------------------- /static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chingli/rockrock/f523e34db1e0baee19f14cc5627f4ab189e5c658/static/favicon.ico -------------------------------------------------------------------------------- /theme.toml: -------------------------------------------------------------------------------- 1 | # theme.toml template for a Hugo theme 2 | # See https://github.com/spf13/hugoThemes#themetoml for an example 3 | 4 | name = "RockRock" 5 | license = "MIT" 6 | licenselink = "https://github.com/chingli/rockrock/blob/master/LICENSE.md" 7 | description = "a hugo theme used by chingli.com" 8 | homepage = "https://github.com/chingli/rockrock" 9 | tags = ["blog", "minimalism", "duoshuo"] 10 | features = ["minimalism", "chinese"] 11 | min_version = 0.18 12 | 13 | [author] 14 | name = "Chingli" 15 | homepage = "http://www.chingli.com/" 16 | --------------------------------------------------------------------------------