add multilingual support
This commit is contained in:
		
							
								
								
									
										0
									
								
								content/_index.en.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								content/_index.en.md
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										0
									
								
								content/_index.zh.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								content/_index.zh.md
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										8
									
								
								content/about/index.zh.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								content/about/index.zh.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | |||||||
|  | --- | ||||||
|  | title: "关于我们" | ||||||
|  | date: 2023-04-20 | ||||||
|  | draft: false | ||||||
|  | layout: page | ||||||
|  | --- | ||||||
|  |  | ||||||
|  | # About Us | ||||||
							
								
								
									
										6
									
								
								content/archives/index.zh.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								content/archives/index.zh.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | |||||||
|  | --- | ||||||
|  | title: "归档" | ||||||
|  | date: 2023-04-20 | ||||||
|  | draft: false | ||||||
|  | layout: archives | ||||||
|  | --- | ||||||
							
								
								
									
										199
									
								
								content/post/2019-08-08-text-and-typography/index.zh.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										199
									
								
								content/post/2019-08-08-text-and-typography/index.zh.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,199 @@ | |||||||
|  | --- | ||||||
|  | title: 文本和排版 | ||||||
|  | date: 2019-08-08 11:33:00 +0800 | ||||||
|  | draft: false | ||||||
|  | description: >- | ||||||
|  |   文本、排版、数学公式、图表、流程图、图片、视频等示例。 | ||||||
|  | categories: | ||||||
|  |   - 博客 | ||||||
|  |   - 演示 | ||||||
|  | tags: | ||||||
|  |   - 排版 | ||||||
|  | pin: true | ||||||
|  | math: true | ||||||
|  | image: | ||||||
|  |   path: devices-mockup.png | ||||||
|  |   lqip: data:image/webp;base64,UklGRpoAAABXRUJQVlA4WAoAAAAQAAAADwAABwAAQUxQSDIAAAARL0AmbZurmr57yyIiqE8oiG0bejIYEQTgqiDA9vqnsUSI6H+oAERp2HZ65qP/VIAWAFZQOCBCAAAA8AEAnQEqEAAIAAVAfCWkAALp8sF8rgRgAP7o9FDvMCkMde9PK7euH5M1m6VWoDXf2FkP3BqV0ZYbO6NA/VFIAAAA | ||||||
|  |   alt: Chirpy主题在多个设备上的响应式渲染。 | ||||||
|  | --- | ||||||
|  |  | ||||||
|  | ## 标题 | ||||||
|  |  | ||||||
|  | <!-- markdownlint-capture --> | ||||||
|  | <!-- markdownlint-disable --> | ||||||
|  | # H1 — 标题 {data-toc-skip=true .mt-4 .mb-0 } | ||||||
|  |  | ||||||
|  | ## H2 — 标题 {data-toc-skip=true .mt-4 .mb-0 } | ||||||
|  |  | ||||||
|  | ### H3 — 标题 {data-toc-skip=true .mt-4 .mb-0 } | ||||||
|  |  | ||||||
|  | #### H4 — 标题 {data-toc-skip=true .mt-4 } | ||||||
|  | <!-- markdownlint-restore --> | ||||||
|  |  | ||||||
|  | ## 段落 | ||||||
|  |  | ||||||
|  | 这是一个段落示例。在这里,我们可以看到段落是如何在Markdown中呈现的。段落是由一个或多个连续的文本行组成,它们之间用一个或多个空行分隔。正常的段落不应该用空格或制表符缩进。这样可以保持文档的整洁和一致性。文本排版是网页设计和内容创作中的重要元素,良好的排版可以提高可读性和美观度。 | ||||||
|  |  | ||||||
|  | ## 列表 | ||||||
|  |  | ||||||
|  | ### 有序列表 | ||||||
|  |  | ||||||
|  | 1. 第一点 | ||||||
|  | 2. 第二点 | ||||||
|  | 3. 第三点 | ||||||
|  |  | ||||||
|  | ### 无序列表 | ||||||
|  |  | ||||||
|  | - 章节 | ||||||
|  |   - 节 | ||||||
|  |     - 段落 | ||||||
|  |  | ||||||
|  | ### 待办列表 | ||||||
|  |  | ||||||
|  | - [ ] 任务 | ||||||
|  |   - [x] 步骤 1 | ||||||
|  |   - [x] 步骤 2 | ||||||
|  |   - [ ] 步骤 3 | ||||||
|  |  | ||||||
|  | ### 描述列表 | ||||||
|  |  | ||||||
|  | 太阳 | ||||||
|  | : 地球绕其运行的恒星 | ||||||
|  |  | ||||||
|  | 月亮 | ||||||
|  | : 地球的天然卫星,通过反射太阳光可见 | ||||||
|  |  | ||||||
|  | ## 引用块 | ||||||
|  |  | ||||||
|  | > 这行显示*引用块*。 | ||||||
|  |  | ||||||
|  | ## 提示框 | ||||||
|  |  | ||||||
|  | <!-- markdownlint-capture --> | ||||||
|  | <!-- markdownlint-disable --> | ||||||
|  | > 这是一个显示`tip`类型提示的例子。 | ||||||
|  | {.prompt-tip } | ||||||
|  |  | ||||||
|  | > 这是一个显示`info`类型提示的例子。 | ||||||
|  | {.prompt-info } | ||||||
|  |  | ||||||
|  | > 这是一个显示`warning`类型提示的例子。 | ||||||
|  | {.prompt-warning } | ||||||
|  |  | ||||||
|  | > 这是一个显示`danger`类型提示的例子。 | ||||||
|  | {.prompt-danger } | ||||||
|  | <!-- markdownlint-restore --> | ||||||
|  |  | ||||||
|  | ## 表格 | ||||||
|  |  | ||||||
|  | | 公司                          | 联系人          | 国家 | | ||||||
|  | | :--------------------------- | :--------------- | ------: | | ||||||
|  | | Alfreds Futterkiste          | Maria Anders     | 德国 | | ||||||
|  | | Island Trading               | Helen Bennett    | 英国 | | ||||||
|  | | Magazzini Alimentari Riuniti | Giovanni Rovelli | 意大利 | | ||||||
|  |  | ||||||
|  | ## 链接 | ||||||
|  |  | ||||||
|  | <http://127.0.0.1:4000> | ||||||
|  |  | ||||||
|  | ## 脚注 | ||||||
|  |  | ||||||
|  | 点击钩子将定位到脚注[^footnote],这里是另一个脚注[^fn-nth-2]。 | ||||||
|  |  | ||||||
|  | ## 内联代码 | ||||||
|  |  | ||||||
|  | 这是`内联代码`的一个例子。 | ||||||
|  |  | ||||||
|  | ## 文件路径 | ||||||
|  |  | ||||||
|  | 这里是 {{< markdown/filepath src="/path/to/the/file.extend" >}}。 | ||||||
|  |  | ||||||
|  | ## 代码块 | ||||||
|  |  | ||||||
|  | ### 通用 | ||||||
|  |  | ||||||
|  | ```text | ||||||
|  | 这是一个通用代码片段,没有语法高亮和行号。 | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | ### 特定语言 | ||||||
|  |  | ||||||
|  | ```bash | ||||||
|  | if [ $? -ne 0 ]; then | ||||||
|  |   echo "命令执行不成功。"; | ||||||
|  |   #执行必要操作 / 退出 | ||||||
|  | fi; | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | ### 特定文件名 | ||||||
|  |  | ||||||
|  | ```sass | ||||||
|  | @import | ||||||
|  |   "colors/light-typography", | ||||||
|  |   "colors/dark-typography"; | ||||||
|  | ``` | ||||||
|  | {: file='_sass/jekyll-theme-chirpy.scss'} | ||||||
|  |  | ||||||
|  | ## 数学公式 | ||||||
|  |  | ||||||
|  | 数学公式由[**MathJax**](https://www.mathjax.org/)提供支持: | ||||||
|  |  | ||||||
|  | $$ | ||||||
|  | \begin{equation} | ||||||
|  |   \sum_{n=1}^\infty 1/n^2 = \frac{\pi^2}{6} | ||||||
|  |   \label{eq:series} | ||||||
|  | \end{equation} | ||||||
|  | $$ | ||||||
|  |  | ||||||
|  | 我们可以引用公式如\eqref{eq:series}。 | ||||||
|  |  | ||||||
|  | 当$a \ne 0$时,$ax^2 + bx + c = 0$有两个解,它们是 | ||||||
|  |  | ||||||
|  | $$ x = {-b \pm \sqrt{b^2-4ac} \over 2a} $$ | ||||||
|  |  | ||||||
|  | ## Mermaid SVG | ||||||
|  |  | ||||||
|  | ```mermaid | ||||||
|  |  gantt | ||||||
|  |   title  为mermaid添加甘特图功能 | ||||||
|  |   apple :a, 2017-07-20, 1w | ||||||
|  |   banana :crit, b, 2017-07-23, 1d | ||||||
|  |   cherry :active, c, after b a, 1d | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | ## 图片 | ||||||
|  |  | ||||||
|  | ### 默认(带标题) | ||||||
|  |  | ||||||
|  | {: width="972" height="589" } | ||||||
|  | _全屏宽度和居中对齐_ | ||||||
|  |  | ||||||
|  | ### 左对齐 | ||||||
|  |  | ||||||
|  | {: width="972" height="589" .w-75 .normal} | ||||||
|  |  | ||||||
|  | ### 向左浮动 | ||||||
|  |  | ||||||
|  | {: width="972" height="589" .w-50 .left} | ||||||
|  | 这是一段文本示例,用于演示图片向左浮动时的效果。在这种情况下,文本会环绕在图片的右侧。这对于创建更具视觉吸引力的布局很有用,特别是当您想要文本和图片并排显示时。浮动元素是网页设计中常用的技术,可以有效利用空间并增强内容的可读性。 | ||||||
|  |  | ||||||
|  | ### 向右浮动 | ||||||
|  |  | ||||||
|  | {: width="972" height="589" .w-50 .right} | ||||||
|  | 这是一段文本示例,用于演示图片向右浮动时的效果。在这种情况下,文本会环绕在图片的左侧。这种布局技术可以创建更加动态和有趣的页面设计。合理使用浮动可以使您的内容更加吸引人,并引导读者的视线在页面上流畅移动。记住,浮动元素需要适当的空间才能发挥最佳效果。 | ||||||
|  |  | ||||||
|  | ### 暗/亮模式 & 阴影 | ||||||
|  |  | ||||||
|  | 下面的图片将根据主题偏好切换暗/亮模式,注意它有阴影效果。 | ||||||
|  |  | ||||||
|  | {: .light .w-75 .shadow .rounded-10 w='1212' h='668' } | ||||||
|  | {: .dark .w-75 .shadow .rounded-10 w='1212' h='668' } | ||||||
|  |  | ||||||
|  | ## 视频 | ||||||
|  |  | ||||||
|  | {{< embed/youtube id="Balreaj8Yqs" >}} | ||||||
|  |  | ||||||
|  | ## 反向脚注 | ||||||
|  |  | ||||||
|  | [^footnote]: 脚注源 | ||||||
|  | [^fn-nth-2]: 第二个脚注源  | ||||||
							
								
								
									
										251
									
								
								content/post/2019-08-08-write-a-new-post/index.zh.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										251
									
								
								content/post/2019-08-08-write-a-new-post/index.zh.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,251 @@ | |||||||
|  | --- | ||||||
|  | title: 撰写新文章 | ||||||
|  | date: 2019-08-08 14:10:00 +0800 | ||||||
|  | description: >- | ||||||
|  |   文本、排版、数学公式、图表、流程图、图片、视频等示例。 | ||||||
|  | categories: | ||||||
|  |   - 博客 | ||||||
|  |   - 教程 | ||||||
|  | tags: | ||||||
|  |   - 写作 | ||||||
|  | pin: True | ||||||
|  | --- | ||||||
|  |  | ||||||
|  | 本教程将指导您如何在 _Chirpy_ 模板中撰写文章,即使您以前使用过Jekyll,也值得阅读,因为许多功能需要设置特定变量。 | ||||||
|  |  | ||||||
|  | ## 命名和路径 | ||||||
|  |  | ||||||
|  | 创建一个名为 `YYYY-MM-DD-TITLE.EXTENSION`{: .filepath} 的新文件,并将其放在根目录的 `_posts`{: .filepath} 中。请注意,`EXTENSION`{: .filepath} 必须是 `md`{: .filepath} 和 `markdown`{: .filepath} 之一。如果您想节省创建文件的时间,请考虑使用插件 [`Jekyll-Compose`](https://github.com/jekyll/jekyll-compose) 来完成此操作。 | ||||||
|  |  | ||||||
|  | ## 前言 | ||||||
|  |  | ||||||
|  | 基本上,您需要在文章顶部填写[前言](https://jekyllrb.com/docs/front-matter/),如下所示: | ||||||
|  |  | ||||||
|  | ```yaml | ||||||
|  | --- | ||||||
|  | title: 标题 | ||||||
|  | date: YYYY-MM-DD HH:MM:SS +/-TTTT | ||||||
|  | categories: [主分类, 子分类] | ||||||
|  | tags: [标签]     # 标签名称应始终为小写 | ||||||
|  | --- | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | > 文章的_布局_默认已设置为`post`,因此无需在前言块中添加变量_layout_。 | ||||||
|  | {: .prompt-tip } | ||||||
|  |  | ||||||
|  | ### 日期的时区 | ||||||
|  |  | ||||||
|  | 为了准确记录文章的发布日期,您不仅应该设置 `_config.yml`{: .filepath} 的 `timezone`,还应在其前言块的 `date` 变量中提供文章的时区。格式:`+/-TTTT`,例如 `+0800`。 | ||||||
|  |  | ||||||
|  | ### 分类和标签 | ||||||
|  |  | ||||||
|  | 每篇文章的 `categories` 设计为最多包含两个元素,而 `tags` 中的元素数量可以从零到无穷大。例如: | ||||||
|  |  | ||||||
|  | ```yaml | ||||||
|  | --- | ||||||
|  | categories: [动物, 昆虫] | ||||||
|  | tags: [蜜蜂] | ||||||
|  | --- | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | ### 作者信息 | ||||||
|  |  | ||||||
|  | 文章的作者信息通常不需要在 _前言_ 中填写,默认情况下,它们将从配置文件的 `social.name` 和 `social.links` 的第一个条目中获取。但您也可以按如下方式覆盖它: | ||||||
|  |  | ||||||
|  | 在 `_data/authors.yml` 中添加作者信息(如果您的网站没有此文件,请创建一个)。 | ||||||
|  |  | ||||||
|  | ```yaml | ||||||
|  | <作者ID>: | ||||||
|  |   name: <全名> | ||||||
|  |   twitter: <作者的推特> | ||||||
|  |   url: <作者的主页> | ||||||
|  | ``` | ||||||
|  | {: file="_data/authors.yml" } | ||||||
|  |  | ||||||
|  | 然后使用 `author` 指定单个条目或 `authors` 指定多个条目: | ||||||
|  |  | ||||||
|  | ```yaml | ||||||
|  | --- | ||||||
|  | author: <作者ID>                     # 单个条目 | ||||||
|  | # 或 | ||||||
|  | authors: [<作者1ID>, <作者2ID>]   # 多个条目 | ||||||
|  | --- | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | 话虽如此,键 `author` 也可以识别多个条目。 | ||||||
|  |  | ||||||
|  | > 从文件 `_data/authors.yml`{: .filepath } 读取作者信息的好处是页面将有元标签 `twitter:creator`,这丰富了 [Twitter Cards](https://developer.twitter.com/en/docs/twitter-for-websites/cards/guides/getting-started#card-and-content-attribution) 并有利于SEO。 | ||||||
|  | {: .prompt-info } | ||||||
|  |  | ||||||
|  | ### 文章描述 | ||||||
|  |  | ||||||
|  | 默认情况下,文章的第一句话用于在首页的文章列表、_进一步阅读_ 部分以及RSS源的XML中显示。如果您不想为文章显示自动生成的描述,可以使用 _前言_ 中的 `description` 字段自定义它,如下所示: | ||||||
|  |  | ||||||
|  | ```yaml | ||||||
|  | --- | ||||||
|  | description: 文章的简短摘要。 | ||||||
|  | --- | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | 此外,`description` 文本也将显示在文章页面的文章标题下方。 | ||||||
|  |  | ||||||
|  | ## 目录 | ||||||
|  |  | ||||||
|  | 默认情况下,目录(TOC)显示在文章的右侧面板上。如果您想全局关闭它,请转到 `_config.yml`{: .filepath} 并将变量 `toc` 的值设置为 `false`。如果您想为特定文章关闭TOC,请将以下内容添加到文章的[前言](https://jekyllrb.com/docs/front-matter/)中: | ||||||
|  |  | ||||||
|  | ```yaml | ||||||
|  | --- | ||||||
|  | toc: false | ||||||
|  | --- | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | ## 评论 | ||||||
|  |  | ||||||
|  | 评论的全局设置由 `_config.yml`{: .filepath} 文件中的 `comments.provider` 选项定义。一旦为此变量选择了评论系统,所有文章将启用评论。 | ||||||
|  |  | ||||||
|  | 如果您想关闭特定文章的评论,请将以下内容添加到文章的**前言**中: | ||||||
|  |  | ||||||
|  | ```yaml | ||||||
|  | --- | ||||||
|  | comments: false | ||||||
|  | --- | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | ## 媒体 | ||||||
|  |  | ||||||
|  | 在 _Chirpy_ 中,我们将图片、音频和视频称为媒体资源。 | ||||||
|  |  | ||||||
|  | ### URL前缀 | ||||||
|  |  | ||||||
|  | 有时,我们必须为一篇文章中的多个资源定义重复的URL前缀,这是一项可以通过设置两个参数来避免的繁琐任务。 | ||||||
|  |  | ||||||
|  | - 如果您使用CDN托管媒体文件,可以在 `_config.yml`{: .filepath } 中指定 `cdn`。然后,站点头像和文章的媒体资源的URL将以CDN域名为前缀。 | ||||||
|  |  | ||||||
|  |   ```yaml | ||||||
|  |   cdn: https://cdn.com | ||||||
|  |   ``` | ||||||
|  |   {: file='_config.yml' .nolineno } | ||||||
|  |  | ||||||
|  | - 要为当前文章/页面范围指定资源路径前缀,请在文章的 _前言_ 中设置 `media_subpath`: | ||||||
|  |  | ||||||
|  |   ```yaml | ||||||
|  |   --- | ||||||
|  |   media_subpath: /path/to/media/ | ||||||
|  |   --- | ||||||
|  |   ``` | ||||||
|  |   {: .nolineno } | ||||||
|  |  | ||||||
|  | 选项 `site.cdn` 和 `page.media_subpath` 可以单独使用或组合使用,以灵活组合最终的资源URL:`[site.cdn/][page.media_subpath/]file.ext` | ||||||
|  |  | ||||||
|  | ### 图片 | ||||||
|  |  | ||||||
|  | #### 标题 | ||||||
|  |  | ||||||
|  | 在图片的下一行添加斜体,然后它将成为标题并显示在图片底部: | ||||||
|  |  | ||||||
|  | ```markdown | ||||||
|  |  | ||||||
|  | _图片标题_ | ||||||
|  | ``` | ||||||
|  | {: .nolineno} | ||||||
|  |  | ||||||
|  | #### 尺寸 | ||||||
|  |  | ||||||
|  | 为防止图片加载时页面内容布局发生偏移,我们应该为每张图片设置宽度和高度。 | ||||||
|  |  | ||||||
|  | ```markdown | ||||||
|  | {: width="700" height="400" } | ||||||
|  | ``` | ||||||
|  | {: .nolineno} | ||||||
|  |  | ||||||
|  | > 对于SVG,您至少必须指定其 _宽度_,否则它不会被渲染。 | ||||||
|  | {: .prompt-info } | ||||||
|  |  | ||||||
|  | 从 _Chirpy v5.0.0_ 开始,`height` 和 `width` 支持缩写(`height` → `h`,`width` → `w`)。以下示例与上述效果相同: | ||||||
|  |  | ||||||
|  | ```markdown | ||||||
|  | {: w="700" h="400" } | ||||||
|  | ``` | ||||||
|  | {: .nolineno} | ||||||
|  |  | ||||||
|  | #### 位置 | ||||||
|  |  | ||||||
|  | 默认情况下,图片居中,但您可以使用 `normal`、`left` 和 `right` 类之一指定位置。 | ||||||
|  |  | ||||||
|  | > 一旦指定了位置,就不应添加图片标题。 | ||||||
|  | {: .prompt-warning } | ||||||
|  |  | ||||||
|  | - **普通位置** | ||||||
|  |  | ||||||
|  |   在下面的示例中,图片将左对齐: | ||||||
|  |  | ||||||
|  |   ```markdown | ||||||
|  |   {: .normal } | ||||||
|  |   ``` | ||||||
|  |   {: .nolineno} | ||||||
|  |  | ||||||
|  | - **向左浮动** | ||||||
|  |  | ||||||
|  |   ```markdown | ||||||
|  |   {: .left } | ||||||
|  |   ``` | ||||||
|  |   {: .nolineno} | ||||||
|  |  | ||||||
|  | - **向右浮动** | ||||||
|  |  | ||||||
|  |   ```markdown | ||||||
|  |   {: .right } | ||||||
|  |   ``` | ||||||
|  |   {: .nolineno} | ||||||
|  |  | ||||||
|  | #### 暗/亮模式 | ||||||
|  |  | ||||||
|  | 您可以使图片跟随暗/亮模式的主题偏好。这需要您准备两张图片,一张用于暗模式,一张用于亮模式,然后为它们分配特定的类(`dark` 或 `light`): | ||||||
|  |  | ||||||
|  | ```markdown | ||||||
|  | {: .light } | ||||||
|  | {: .dark } | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | #### 阴影 | ||||||
|  |  | ||||||
|  | 程序窗口的截图可以考虑显示阴影效果: | ||||||
|  |  | ||||||
|  | ```markdown | ||||||
|  | {: .shadow } | ||||||
|  | ``` | ||||||
|  | {: .nolineno} | ||||||
|  |  | ||||||
|  | #### 预览图片 | ||||||
|  |  | ||||||
|  | 如果您想在文章顶部添加图片,请提供分辨率为 `1200 x 630` 的图片。请注意,如果图片的宽高比不符合 `1.91 : 1`,图片将被缩放和裁剪。 | ||||||
|  |  | ||||||
|  | 了解这些先决条件后,您可以开始设置图片的属性: | ||||||
|  |  | ||||||
|  | ```yaml | ||||||
|  | --- | ||||||
|  | image: | ||||||
|  |   path: /path/to/image | ||||||
|  |   alt: 图片替代文本 | ||||||
|  | --- | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | 请注意,[`media_subpath`](#url前缀) 也可以传递给预览图片,也就是说,当它已经设置好时,属性 `path` 只需要图片文件名。 | ||||||
|  |  | ||||||
|  | 为了简单使用,您也可以只使用 `image` 来定义路径。 | ||||||
|  |  | ||||||
|  | ```yml | ||||||
|  | --- | ||||||
|  | image: /path/to/image | ||||||
|  | --- | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | #### LQIP | ||||||
|  |  | ||||||
|  | 对于预览图片: | ||||||
|  |  | ||||||
|  | ```yaml | ||||||
|  | --- | ||||||
|  | image: | ||||||
|  |   lqip: /path/to/lqip-file # 或base64 URI | ||||||
|  | ```  | ||||||
							
								
								
									
										151
									
								
								content/post/2019-08-09-getting-started/index.zh.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										151
									
								
								content/post/2019-08-09-getting-started/index.zh.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,151 @@ | |||||||
|  | --- | ||||||
|  | title: 开始使用 | ||||||
|  | date: 2019-08-09 20:55:00 +0800 | ||||||
|  | draft: false | ||||||
|  | description: >- | ||||||
|  |   通过这个全面概述开始学习Chirpy的基础知识。 | ||||||
|  |   您将学习如何安装、配置和使用您的第一个基于Chirpy的网站,以及如何将其部署到网络服务器。 | ||||||
|  | categories: | ||||||
|  |   - 博客 | ||||||
|  |   - 教程 | ||||||
|  | tags: | ||||||
|  |   - 入门指南 | ||||||
|  | pin: true | ||||||
|  | --- | ||||||
|  |  | ||||||
|  | ## 创建站点仓库 | ||||||
|  |  | ||||||
|  | 创建站点仓库时,根据您的需求有两种选择: | ||||||
|  |  | ||||||
|  | ### 选项1. 使用起始模板(推荐) | ||||||
|  |  | ||||||
|  | 这种方法简化了升级过程,隔离了不必要的文件,非常适合那些想专注于写作而不需要太多配置的用户。 | ||||||
|  |  | ||||||
|  | 1. 登录GitHub并导航到[**起始模板**][starter]。 | ||||||
|  | 2. 点击<kbd>Use this template</kbd>按钮,然后选择<kbd>Create a new repository</kbd>。 | ||||||
|  | 3. 将新仓库命名为`<username>.github.io`,其中`username`替换为您的小写GitHub用户名。 | ||||||
|  |  | ||||||
|  | ### 选项2. 复刻主题 | ||||||
|  |  | ||||||
|  | 这种方法便于修改功能或UI设计,但在升级时会遇到挑战。除非您熟悉Jekyll并计划对此主题进行大量修改,否则不要尝试这种方法。 | ||||||
|  |  | ||||||
|  | 1. 登录GitHub。 | ||||||
|  | 2. [复刻主题仓库](https://github.com/cotes2020/jekyll-theme-chirpy/fork)。 | ||||||
|  | 3. 将新仓库命名为`<username>.github.io`,其中`username`替换为您的小写GitHub用户名。 | ||||||
|  |  | ||||||
|  | ## 设置环境 | ||||||
|  |  | ||||||
|  | 创建仓库后,是时候设置您的开发环境了。主要有两种方法: | ||||||
|  |  | ||||||
|  | ### 使用开发容器(Windows系统推荐) | ||||||
|  |  | ||||||
|  | 开发容器使用Docker提供隔离环境,这可以防止与您的系统冲突,并确保所有依赖项都在容器内管理。 | ||||||
|  |  | ||||||
|  | **步骤**: | ||||||
|  |  | ||||||
|  | 1. 安装Docker: | ||||||
|  |    - 在Windows/macOS上,安装[Docker Desktop][docker-desktop]。 | ||||||
|  |    - 在Linux上,安装[Docker Engine][docker-engine]。 | ||||||
|  | 2. 安装[VS Code][vscode]和[Dev Containers扩展][dev-containers]。 | ||||||
|  | 3. 克隆您的仓库: | ||||||
|  |    - 对于Docker Desktop:启动VS Code并[在容器卷中克隆您的仓库][dc-clone-in-vol]。 | ||||||
|  |    - 对于Docker Engine:在本地克隆您的仓库,然后通过VS Code[在容器中打开它][dc-open-in-container]。 | ||||||
|  | 4. 等待开发容器设置完成。 | ||||||
|  |  | ||||||
|  | ### 本地设置(类Unix操作系统推荐) | ||||||
|  |  | ||||||
|  | 对于类Unix系统,您可以本地设置环境以获得最佳性能,不过您也可以使用开发容器作为替代方案。 | ||||||
|  |  | ||||||
|  | **步骤**: | ||||||
|  |  | ||||||
|  | 1. 按照[Jekyll安装指南](https://jekyllrb.com/docs/installation/)安装Jekyll,并确保已安装[Git](https://git-scm.com/)。 | ||||||
|  | 2. 将您的仓库克隆到本地机器。 | ||||||
|  | 3. 如果您复刻了主题,安装[Node.js][nodejs]并在根目录中运行`bash tools/init.sh`来初始化仓库。 | ||||||
|  | 4. 在仓库根目录中运行命令`bundle`来安装依赖项。 | ||||||
|  |  | ||||||
|  | ## 使用方法 | ||||||
|  |  | ||||||
|  | ### 启动Jekyll服务器 | ||||||
|  |  | ||||||
|  | 要在本地运行站点,请使用以下命令: | ||||||
|  |  | ||||||
|  | ```terminal | ||||||
|  | $ bundle exec jekyll serve | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | > 如果您使用的是开发容器,必须在**VS Code**终端中运行该命令。 | ||||||
|  | {: .prompt-info } | ||||||
|  |  | ||||||
|  | 几秒钟后,本地服务器将在<http://127.0.0.1:4000>上可用。 | ||||||
|  |  | ||||||
|  | ### 配置 | ||||||
|  |  | ||||||
|  | 根据需要更新`_config.yml`{: .filepath}中的变量。一些典型选项包括: | ||||||
|  |  | ||||||
|  | - `url` | ||||||
|  | - `avatar` | ||||||
|  | - `timezone` | ||||||
|  | - `lang` | ||||||
|  |  | ||||||
|  | ### 社交联系选项 | ||||||
|  |  | ||||||
|  | 社交联系选项显示在侧边栏底部。您可以在`_data/contact.yml`{: .filepath}文件中启用或禁用特定联系方式。 | ||||||
|  |  | ||||||
|  | ### 自定义样式表 | ||||||
|  |  | ||||||
|  | 要自定义样式表,请将主题的`assets/css/jekyll-theme-chirpy.scss`{: .filepath}文件复制到Jekyll站点的相同路径中,并在文件末尾添加您的自定义样式。 | ||||||
|  |  | ||||||
|  | ### 自定义静态资源 | ||||||
|  |  | ||||||
|  | 静态资源配置在版本`5.1.0`中引入。静态资源的CDN在`_data/origin/cors.yml`{: .filepath}中定义。您可以根据您的网站发布地区的网络状况替换其中一些。 | ||||||
|  |  | ||||||
|  | 如果您更喜欢自托管静态资源,请参考[_chirpy-static-assets_](https://github.com/cotes2020/chirpy-static-assets#readme)仓库。 | ||||||
|  |  | ||||||
|  | ## 部署 | ||||||
|  |  | ||||||
|  | 部署前,检查`_config.yml`{: .filepath}文件并确保正确配置了`url`。如果您更喜欢[**项目站点**](https://help.github.com/en/github/working-with-github-pages/about-github-pages#types-of-github-pages-sites)且不使用自定义域名,或者您想通过GitHub Pages以外的Web服务器上的基本URL访问您的网站,请记得将`baseurl`设置为项目名称,以斜杠开头,例如`/project-name`。 | ||||||
|  |  | ||||||
|  | 现在您可以选择以下方法之一来部署您的Jekyll站点。 | ||||||
|  |  | ||||||
|  | ### 使用Github Actions部署 | ||||||
|  |  | ||||||
|  | 准备以下内容: | ||||||
|  |  | ||||||
|  | - 如果您使用的是GitHub免费计划,请保持站点仓库公开。 | ||||||
|  | - 如果您已将`Gemfile.lock`{: .filepath}提交到仓库,并且您的本地机器不是运行Linux,请更新锁定文件的平台列表: | ||||||
|  |  | ||||||
|  |   ```console | ||||||
|  |   $ bundle lock --add-platform x86_64-linux | ||||||
|  |   ``` | ||||||
|  |  | ||||||
|  | 接下来,配置_Pages_服务: | ||||||
|  |  | ||||||
|  | 1. 在GitHub上进入您的仓库。选择_Settings_标签,然后点击左侧导航栏中的_Pages_。在**Source**部分(_Build and deployment_下),从下拉菜单中选择[**GitHub Actions**][pages-workflow-src]。 | ||||||
|  |    {: .light .border .normal w='375' h='140' } | ||||||
|  |    {: .dark .normal w='375' h='140' } | ||||||
|  |  | ||||||
|  | 2. 将任何提交推送到GitHub以触发_Actions_工作流。在仓库的_Actions_标签中,您应该看到正在运行的_Build and Deploy_工作流。一旦构建完成并成功,站点将自动部署。 | ||||||
|  |  | ||||||
|  | 现在您可以访问GitHub提供的URL来访问您的站点。 | ||||||
|  |  | ||||||
|  | ### 手动构建和部署 | ||||||
|  |  | ||||||
|  | 对于自托管服务器,您需要在本地机器上构建站点,然后将站点文件上传到服务器。 | ||||||
|  |  | ||||||
|  | 导航到源项目的根目录,并使用以下命令构建您的站点: | ||||||
|  |  | ||||||
|  | ```console | ||||||
|  | $ JEKYLL_ENV=production bundle exec jekyll b | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | 除非您指定了输出路径,否则生成的站点文件将放置在项目根目录的`_site`{: .filepath}文件夹中。将这些文件上传到您的目标服务器。 | ||||||
|  |  | ||||||
|  | [nodejs]: https://nodejs.org/ | ||||||
|  | [starter]: https://github.com/cotes2020/chirpy-starter | ||||||
|  | [pages-workflow-src]: https://docs.github.com/en/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site#publishing-with-a-custom-github-actions-workflow | ||||||
|  | [docker-desktop]: https://www.docker.com/products/docker-desktop/ | ||||||
|  | [docker-engine]: https://docs.docker.com/engine/install/ | ||||||
|  | [vscode]: https://code.visualstudio.com/ | ||||||
|  | [dev-containers]: https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers | ||||||
|  | [dc-clone-in-vol]: https://code.visualstudio.com/docs/devcontainers/containers#_quick-start-open-a-git-repository-or-github-pr-in-an-isolated-container-volume | ||||||
|  | [dc-open-in-container]: https://code.visualstudio.com/docs/devcontainers/containers#_quick-start-open-an-existing-folder-in-a-container  | ||||||
							
								
								
									
										43
									
								
								content/post/2019-08-11-customize-the-favicon/index.zh.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								content/post/2019-08-11-customize-the-favicon/index.zh.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,43 @@ | |||||||
|  | --- | ||||||
|  | title: 自定义网站图标 | ||||||
|  | date: 2019-08-11 00:34:00 +0800 | ||||||
|  | description: >- | ||||||
|  |   通过这个全面概述开始学习Chirpy的基础知识。 | ||||||
|  |   您将学习如何安装、配置和使用您的第一个基于Chirpy的网站,以及如何将其部署到网络服务器。 | ||||||
|  | categories: | ||||||
|  |   - 博客 | ||||||
|  |   - 教程 | ||||||
|  | tags: | ||||||
|  |   - 网站图标 | ||||||
|  | pin: true | ||||||
|  | --- | ||||||
|  |  | ||||||
|  | [**Chirpy**](https://github.com/cotes2020/jekyll-theme-chirpy/)的[网站图标](https://www.favicon-generator.org/about/)放置在`assets/img/favicons/`{: .filepath}目录中。您可能想用自己的图标替换它们。以下部分将指导您创建和替换默认网站图标。 | ||||||
|  |  | ||||||
|  | ## 生成网站图标 | ||||||
|  |  | ||||||
|  | 准备一张尺寸为512x512或更大的正方形图像(PNG、JPG或SVG),然后前往在线工具[**Real Favicon Generator**](https://realfavicongenerator.net/),点击<kbd>Select your Favicon image</kbd>按钮上传您的图像文件。 | ||||||
|  |  | ||||||
|  | 在下一步中,网页将显示所有使用场景。您可以保留默认选项,滚动到页面底部,点击<kbd>Generate your Favicons and HTML code</kbd>按钮生成网站图标。 | ||||||
|  |  | ||||||
|  | ## 下载与替换 | ||||||
|  |  | ||||||
|  | 下载生成的包,解压并从提取的文件中删除以下两个文件: | ||||||
|  |  | ||||||
|  | - {{< markdown/filepath src="browserconfig.xml" >}} | ||||||
|  | - {{< markdown/filepath src="site.webmanifest" >}} | ||||||
|  |  | ||||||
|  | 然后将剩余的图像文件({{< markdown/filepath src=".PNG" >}}和{{< markdown/filepath src=".ICO" >}})复制到您的Jekyll站点的{{< markdown/filepath src="assets/img/favicons/" >}}目录中,覆盖原始文件。如果您的Jekyll站点还没有这个目录,只需创建一个。 | ||||||
|  |  | ||||||
|  | 下表将帮助您理解网站图标文件的变化: | ||||||
|  |  | ||||||
|  | | 文件             | 来自在线工具                  | 来自Chirpy | | ||||||
|  | |---------------------|:---------------------------------:|:-----------:| | ||||||
|  | | `*.PNG`             | ✓                                 | ✗           | | ||||||
|  | | `*.ICO`             | ✓                                 | ✗           | | ||||||
|  |  | ||||||
|  | <!-- markdownlint-disable-next-line --> | ||||||
|  | >  ✓ 表示保留,✗ 表示删除。 | ||||||
|  | {.prompt-info } | ||||||
|  |  | ||||||
|  | 下次构建站点时,网站图标将被自定义版本替换。  | ||||||
							
								
								
									
										55
									
								
								hugo.toml
									
									
									
									
									
								
							
							
						
						
									
										55
									
								
								hugo.toml
									
									
									
									
									
								
							| @@ -1,8 +1,21 @@ | |||||||
| baseURL = 'https://example.org/' | baseURL = 'https://example.org/' | ||||||
| languageCode = 'en-us' |  | ||||||
| title = 'Chirpy' | title = 'Chirpy' | ||||||
| enableGitInfo = true | enableGitInfo = true | ||||||
|  |  | ||||||
|  | defaultContentLanguage = "en" | ||||||
|  | defaultContentLanguageInSubdir = false | ||||||
|  |  | ||||||
|  | [languages] | ||||||
|  |   [languages.zh] | ||||||
|  |     languageName = "中文" | ||||||
|  |     languageCode = "zh-CN" | ||||||
|  |     weight = 1 | ||||||
|  |  | ||||||
|  |   [languages.en] | ||||||
|  |     languageName = "English" | ||||||
|  |     languageCode = "en" | ||||||
|  |     weight = 2 | ||||||
|  |  | ||||||
| [pagination] | [pagination] | ||||||
|   pagerSize = 5 |   pagerSize = 5 | ||||||
|  |  | ||||||
| @@ -36,36 +49,66 @@ enableGitInfo = true | |||||||
| [[module.imports]] | [[module.imports]] | ||||||
| path = "github.com/gohugoio/hugo-mod-bootstrap-scss/v5" | path = "github.com/gohugoio/hugo-mod-bootstrap-scss/v5" | ||||||
|  |  | ||||||
| [[menu.main]] | [[languages.en.menu.main]] | ||||||
|   name = "Home" |   name = "Home" | ||||||
|   url = "/" |   url = "/" | ||||||
|   weight = 10 |   weight = 10 | ||||||
|   pre = "fa-house" |   pre = "fa-house" | ||||||
|  |  | ||||||
| [[menu.main]] | [[languages.en.menu.main]] | ||||||
|   name = "Categories" |   name = "Categories" | ||||||
|   url = "/categories/" |   url = "/categories/" | ||||||
|   weight = 20 |   weight = 20 | ||||||
|   pre = "fa-stream" |   pre = "fa-stream" | ||||||
|  |  | ||||||
| [[menu.main]] | [[languages.en.menu.main]] | ||||||
|   name = "Tags" |   name = "Tags" | ||||||
|   url = "/tags/" |   url = "/tags/" | ||||||
|   weight = 30 |   weight = 30 | ||||||
|   pre = "fa-tags" |   pre = "fa-tags" | ||||||
|  |  | ||||||
| [[menu.main]] | [[languages.en.menu.main]] | ||||||
|   name = "Archives" |   name = "Archives" | ||||||
|   url = "/archives/" |   url = "/archives/" | ||||||
|   weight = 40 |   weight = 40 | ||||||
|   pre = "fa-archive" |   pre = "fa-archive" | ||||||
|  |  | ||||||
| [[menu.main]] | [[languages.en.menu.main]] | ||||||
|   name = "About" |   name = "About" | ||||||
|   url = "/about/" |   url = "/about/" | ||||||
|   weight = 50 |   weight = 50 | ||||||
|   pre = "fa-info-circle" |   pre = "fa-info-circle" | ||||||
|  |  | ||||||
|  | [[languages.zh.menu.main]] | ||||||
|  |   name = "主页" | ||||||
|  |   url = "/" | ||||||
|  |   weight = 10 | ||||||
|  |   pre = "fa-house" | ||||||
|  |  | ||||||
|  | [[languages.zh.menu.main]] | ||||||
|  |   name = "分类" | ||||||
|  |   url = "/categories/" | ||||||
|  |   weight = 20 | ||||||
|  |   pre = "fa-stream" | ||||||
|  |  | ||||||
|  | [[languages.zh.menu.main]] | ||||||
|  |   name = "标签" | ||||||
|  |   url = "/tags/" | ||||||
|  |   weight = 30 | ||||||
|  |   pre = "fa-tags" | ||||||
|  |  | ||||||
|  | [[languages.zh.menu.main]] | ||||||
|  |   name = "归档" | ||||||
|  |   url = "/archives/" | ||||||
|  |   weight = 40 | ||||||
|  |   pre = "fa-archive" | ||||||
|  |  | ||||||
|  | [[languages.zh.menu.main]] | ||||||
|  |   name = "关于" | ||||||
|  |   url = "/about/" | ||||||
|  |   weight = 50 | ||||||
|  |   pre = "fa-info-circle" | ||||||
|  |  | ||||||
| [params] | [params] | ||||||
|   theme_version = "5.2.0" |   theme_version = "5.2.0" | ||||||
|   toc = true |   toc = true | ||||||
|   | |||||||
| @@ -48,11 +48,8 @@ | |||||||
|           {{ if .Params.image }} |           {{ if .Params.image }} | ||||||
|             {{ $src := .Params.image.path | default .Params.image }} |             {{ $src := .Params.image.path | default .Params.image }} | ||||||
|             {{ if not (findRE "//" $src) }} |             {{ if not (findRE "//" $src) }} | ||||||
|               {{ $media_subpath := .Params.media_subpath | default "" }} |               {{ $src = .Resources.GetMatch ( .Params.image.path | default .Params.image ) }} | ||||||
|               {{ $src = path.Join $media_subpath $src }} |               {{ $src = $src.RelPermalink }} | ||||||
|                |  | ||||||
|               {{ $page_path := path.Dir .RelPermalink }} |  | ||||||
|               {{ $src = path.Join $page_path $src }} |  | ||||||
|             {{ end }} |             {{ end }} | ||||||
|  |  | ||||||
|             {{ $alt := .Params.image.alt | default "Preview Image" | htmlEscape }} |             {{ $alt := .Params.image.alt | default "Preview Image" | htmlEscape }} | ||||||
|   | |||||||
							
								
								
									
										10
									
								
								layouts/partials/language-selector.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								layouts/partials/language-selector.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | |||||||
|  | <div class="language-selector"> | ||||||
|  |   <select class="language-dropdown" onchange="location = this.value;"> | ||||||
|  |     {{ $currentLang := .Site.Language.Lang }} | ||||||
|  |     {{ range .Site.Languages }} | ||||||
|  |       <option value="/{{ .Lang }}/" {{ if eq .Lang $currentLang }}selected{{ end }}> | ||||||
|  |         {{ .LanguageName }} ({{ .Lang }}) | ||||||
|  |       </option> | ||||||
|  |     {{ end }} | ||||||
|  |   </select> | ||||||
|  | </div> | ||||||
| @@ -1,7 +1,7 @@ | |||||||
| <!-- The Side Bar --> | <!-- The Side Bar --> | ||||||
| <aside aria-label="Sidebar" id="sidebar" class="d-flex flex-column align-items-end"> | <aside aria-label="Sidebar" id="sidebar" class="d-flex flex-column align-items-end"> | ||||||
|     <header class="profile-wrapper"> |     <header class="profile-wrapper"> | ||||||
|       <a href="{{ "/" | relURL }}" id="avatar" class="rounded-circle"> |       <a href="{{ .Site.Home.RelPermalink }}" id="avatar" class="rounded-circle"> | ||||||
|         {{- if .Site.Params.avatar -}} |         {{- if .Site.Params.avatar -}} | ||||||
|           {{- $avatar := resources.Get .Site.Params.avatar -}} |           {{- $avatar := resources.Get .Site.Params.avatar -}} | ||||||
|           {{- if $avatar -}} |           {{- if $avatar -}} | ||||||
| @@ -12,7 +12,7 @@ | |||||||
|         {{- end -}} |         {{- end -}} | ||||||
|       </a> |       </a> | ||||||
|    |    | ||||||
|       <a class="site-title d-block" href="{{ "/" | relURL }}">{{ .Site.Title }}</a> |       <a class="site-title d-block" href="{{ .Site.Home.RelPermalink }}">{{ .Site.Title }}</a> | ||||||
|       {{ if .Site.Params.tagline }} |       {{ if .Site.Params.tagline }} | ||||||
|         <p class="site-subtitle fst-italic mb-0">{{ .Site.Params.tagline }}</p> |         <p class="site-subtitle fst-italic mb-0">{{ .Site.Params.tagline }}</p> | ||||||
|       {{ end }} |       {{ end }} | ||||||
| @@ -22,14 +22,24 @@ | |||||||
|     <nav class="flex-column flex-grow-1 w-100 ps-0"> |     <nav class="flex-column flex-grow-1 w-100 ps-0"> | ||||||
|       <ul class="nav"> |       <ul class="nav"> | ||||||
|         {{ range .Site.Menus.main }} |         {{ range .Site.Menus.main }} | ||||||
|           <li class="nav-item{{ if eq .URL $.RelPermalink }} active{{ end }}"> |           {{ $active := false }} | ||||||
|             <a href="{{ .URL | relURL }}" class="nav-link"> |           {{ if eq ($.Site.GetPage .URL).RelPermalink $.RelPermalink }} | ||||||
|  |             {{ $active = true }} | ||||||
|  |           {{ end }} | ||||||
|  |           <li class="nav-item{{ if $active }} active{{ end }}"> | ||||||
|  |             <a href="{{ .URL | relLangURL }}" class="nav-link"> | ||||||
|               <i class="fa-fw fas {{ .Pre }}"></i> |               <i class="fa-fw fas {{ .Pre }}"></i> | ||||||
|               <span>{{ (i18n (printf "tabs.%s" .Identifier) | default .Name) | upper }}</span> |               <span>{{ .Name | upper }}</span> | ||||||
|             </a> |             </a> | ||||||
|           </li> |           </li> | ||||||
|           <!-- .nav-item --> |           <!-- .nav-item --> | ||||||
|         {{ end }} |         {{ end }} | ||||||
|  |         <li class="nav-item"> | ||||||
|  |           <a class="nav-link"> | ||||||
|  |             <i class="fa-fw fas fa-language"></i> | ||||||
|  |             {{ partial "language-selector.html" . }} | ||||||
|  |           </a> | ||||||
|  |         </li> | ||||||
|       </ul> |       </ul> | ||||||
|     </nav> |     </nav> | ||||||
|  |  | ||||||
| @@ -56,7 +66,7 @@ | |||||||
|           {{ $emailParts := split .id "@" }} |           {{ $emailParts := split .id "@" }} | ||||||
|           {{ $url = printf "javascript:location.href = 'mailto:' + ['%s','%s'].join('@')" (index $emailParts 0) (index $emailParts 1) }} |           {{ $url = printf "javascript:location.href = 'mailto:' + ['%s','%s'].join('@')" (index $emailParts 0) (index $emailParts 1) }} | ||||||
|         {{ else if eq .type "rss" }} |         {{ else if eq .type "rss" }} | ||||||
|           {{ $url = "index.xml" | relURL }} |           {{ $url = "index.xml" | relLangURL }} | ||||||
|         {{ else }} |         {{ else }} | ||||||
|           {{ $url = .url }} |           {{ $url = .url }} | ||||||
|         {{ end }} |         {{ end }} | ||||||
|   | |||||||
| @@ -1,6 +1,7 @@ | |||||||
| {{ define "main" }} | {{ define "main" }} | ||||||
|   {{ $enable_toc := and (.Params.toc | default site.Params.toc) (gt (len .TableOfContents) 100) }} |   {{ $enable_toc := and (.Params.toc | default site.Params.toc) (gt (len .TableOfContents) 100) }} | ||||||
|   {{ $lang := .Site.Language.Lang }} |   {{ $lang := .Site.Language.Lang }} | ||||||
|  |   {{ $page := . }} | ||||||
|  |  | ||||||
|   <article class="px-1" data-toc="{{ $enable_toc }}"> |   <article class="px-1" data-toc="{{ $enable_toc }}"> | ||||||
|     <header> |     <header> | ||||||
| @@ -25,7 +26,8 @@ | |||||||
|         {{ end }} |         {{ end }} | ||||||
|  |  | ||||||
|         {{ with .Params.image }} |         {{ with .Params.image }} | ||||||
|           {{ $src := printf "src=\"%s\"" ( .path | default . ) }} |           {{ $src := $page.Resources.GetMatch ( .path | default . ) }} | ||||||
|  |           {{ $src = printf "src=\"%s\"" $src.RelPermalink }} | ||||||
|           {{ $class := "class=\"preview-img" }} |           {{ $class := "class=\"preview-img" }} | ||||||
|           {{ if .no_bg }}{{ $class = printf "%s no-bg\"" $class }}{{ else }}{{ $class = printf "%s\"" $class }}{{ end }} |           {{ if .no_bg }}{{ $class = printf "%s no-bg\"" $class }}{{ else }}{{ $class = printf "%s\"" $class }}{{ end }} | ||||||
|           {{ $alt := printf "alt=\"%s\"" ( .alt | default "Preview Image" ) }} |           {{ $alt := printf "alt=\"%s\"" ( .alt | default "Preview Image" ) }} | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 geekifan
					geekifan