summaryrefslogtreecommitdiff
path: root/themes/CodeIT/exampleSite/content/posts/theme-documentation-content/index.en.md
diff options
context:
space:
mode:
Diffstat (limited to 'themes/CodeIT/exampleSite/content/posts/theme-documentation-content/index.en.md')
-rw-r--r--themes/CodeIT/exampleSite/content/posts/theme-documentation-content/index.en.md397
1 files changed, 397 insertions, 0 deletions
diff --git a/themes/CodeIT/exampleSite/content/posts/theme-documentation-content/index.en.md b/themes/CodeIT/exampleSite/content/posts/theme-documentation-content/index.en.md
new file mode 100644
index 0000000..12bfd45
--- /dev/null
+++ b/themes/CodeIT/exampleSite/content/posts/theme-documentation-content/index.en.md
@@ -0,0 +1,397 @@
+---
+weight: 2
+title: "Theme Documentation - Content"
+date: 2020-03-05T15:58:26+08:00
+lastmod: 2020-03-05T15:58:26+08:00
+draft: false
+author: "Sunt Programator!"
+authorLink: "https://suntprogramator.dev/"
+description: "Find out how to create and organize your content quickly and intuitively in CodeIT theme."
+resources:
+ - name: "featured-image"
+ src: "featured-image.jpg"
+
+tags: ["content", "Markdown"]
+categories: ["documentation"]
+
+lightgallery: true
+
+toc:
+ auto: false
+math:
+ enable: true
+---
+
+Find out how to create and organize your content quickly and intuitively in **CodeIT** theme.
+
+<!--more-->
+
+## 1 Contents Organization {#contents-organization}
+
+A few suggestions to help you get a good looking site quickly:
+
+- Keep post pages in the `content/posts` directory, for example: `content/posts/my-first-post.md`
+- Keep other pages in the `content` directory, for example: `content/about.md`
+- Local resources organization
+
+{{< admonition note "Local Resource Reference" >}}
+
+There are three ways to reference local resources such as **images** and **music**:
+
+1. Using [page resources](https://gohugo.io/content-management/page-resources/) in [page bundles](https://gohugo.io/content-management/page-bundles/).
+ You can reference page resources by the value for `Resources.GetMatch` or the filepath of the resource relative to the page directory directly.
+2. Store resources in the **assets** directory, which is `/assets` by default.
+ The filepath of the resource to reference in the post is relative to the assets directory.
+3. Store resources in the **static** directory, which is `/static` by default.
+ The filepath of the resource to reference in the post is relative to the static directory.
+
+The **priority** of references is also in the above order.
+
+There are many places in the theme where the above local resource references can be used,
+such as **links**, **images**, `image` shortcode, `music` shortcode and some params in the **front matter**.
+
+Images in page resources or assets directory [processing](https://gohugo.io/content-management/image-processing/)
+will be supported in the future.
+It's really cool! :(far fa-grin-squint fa-fw):
+{{< /admonition >}}
+
+## 2 Front Matter {#front-matter}
+
+**Hugo** allows you to add front matter in `yaml`, `toml` or `json` to your content files.
+
+{{< admonition >}}
+**Not all** of the below front matters need to be set in each of your posts.
+It is necessary only if the front matters and the `page` part in your [site configuration](../theme-documentation-basics#site-configuration) are inconsistent.
+{{< /admonition >}}
+
+Here is a front matter example:
+
+```yaml
+---
+title: "My First Post"
+subtitle: ""
+date: 2020-03-04T15:58:26+08:00
+lastmod: 2020-03-04T15:58:26+08:00
+draft: true
+author: ""
+authorLink: ""
+description: ""
+license: ""
+images: []
+
+tags: []
+categories: []
+featuredImage: ""
+featuredImagePreview: ""
+
+hiddenFromHomePage: false
+hiddenFromSearch: false
+twemoji: false
+lightgallery: true
+ruby: true
+fraction: true
+fontawesome: true
+linkToMarkdown: true
+rssFullText: false
+
+toc:
+ enable: true
+ auto: true
+code:
+ copy: true
+ # ...
+math:
+ enable: true
+ # ...
+mapbox:
+ accessToken: ""
+ # ...
+share:
+ enable: true
+ # ...
+comment:
+ enable: true
+ # ...
+library:
+ css:
+ # someCSS = "some.css"
+ # located in "assets/"
+ # Or
+ # someCSS = "https://cdn.example.com/some.css"
+ js:
+ # someJS = "some.js"
+ # located in "assets/"
+ # Or
+ # someJS = "https://cdn.example.com/some.js"
+seo:
+ images: []
+ # ...
+---
+
+```
+
+- **title**: the title for the content.
+- **subtitle**: the subtitle for the content.
+- **date**: the datetime assigned to this page, which is usually fetched from the `date` field in front matter, but this behaviour is configurabl in the [site configuration](../theme-documentation-basics#site-configuration).
+- **lastmod**: the datetime at which the content was last modified.
+- **draft**: if `true`, the content will not be rendered unless the `--buildDrafts`/`-D` flag is passed to the `hugo` command.
+- **author**: the author for the content.
+- **authorLink**: the link of the author.
+- **description**: the description for the content.
+- **license**: the special lisence for this content.
+- **images**: page images for Open Graph and Twitter Cards.
+
+- **tags**: the tags for the content.
+- **categories**: the categories for the content.
+- **featuredImage**: the featured image for the content.
+- **featuredImagePreview**: the featured image for the content preview in the home page.
+
+- **hiddenFromHomePage**: if `true`, the content will not be shown in the home page.
+- **hiddenFromSearch**: if `true`, the content will not be shown in the search results.
+- **twemoji**: if `true`, the content will enable the twemoji.
+- **lightgallery**: if `true`, images in the content will be shown as the gallery.
+- **ruby**: if `true`, the content will enable the [ruby extended syntax](#ruby).
+- **fraction**: if `true`, the content will enable the [fraction extended syntax](#fraction).
+- **fontawesome**: if `true`, the content will enable the [Font Awesome extended syntax](#fontawesome).
+- **linkToMarkdown**: if `true`, the footer of the content will be shown the link to the orignal Markdown file.
+- **rssFullText**: if `true`, the full text content will be shown in RSS.
+
+- **toc**: the same as the `params.page.toc` part in the [site configuration](../theme-documentation-basics#site-configuration).
+- **code**: the same as the `params.page.code` part in the [site configuration](../theme-documentation-basics#site-configuration).
+- **math**: the same as the `params.page.math` part in the [site configuration](../theme-documentation-basics#site-configuration).
+- **mapbox**: the same as the `params.page.mapbox` part in the [site configuration](../theme-documentation-basics#site-configuration).
+- **share**: the same as the `params.page.share` part in the [site configuration](../theme-documentation-basics#site-configuration).
+- **comment**: the same as the `params.page.comment` part in the [site configuration](../theme-documentation-basics#site-configuration).
+- **library**: the same as the `params.page.library` part in the [site configuration](../theme-documentation-basics#site-configuration).
+- **seo**: the same as the `params.page.seo` part in the [site configuration](../theme-documentation-basics#site-configuration).
+
+{{< admonition tip >}}
+
+**featuredImage** and **featuredImagePreview** support the complete usage of [local resource references](#contents-organization).
+
+If the page resource with `name: featured-image` or `name: featured-image-preview` is set in the front matter,
+it is not necessary to set the parameter `featuredImage` or `featuredImagePreview`:
+
+```yaml
+resources:
+ - name: featured-image
+ src: featured-image.jpg
+ - name: featured-image-preview
+ src: featured-image-preview.jpg
+```
+
+{{< /admonition >}}
+
+## 3 Content Summaries
+
+**CodeIT** theme uses the summary of the content to display abstract information in the home page. Hugo can generate summaries of your content.
+
+![Summary Preview](summary.png "Summary Preview")
+
+### Automatic Summary Splitting
+
+By default, Hugo automatically takes the first 70 words of your content as its summary.
+
+You may customize the summary length by setting `summaryLength` in the [site configuration](../theme-documentation-basics#site-configuration).
+
+If you are creating content in a [CJK]^(Chinese/Japanese/Korean) language and want to use Hugo’s automatic summary splitting, set `hasCJKLanguage` to `true` in your [site configuration](../theme-documentation-basics#site-configuration).
+
+### Manual Summary Splitting
+
+Alternatively, you may add the `<!--more-->` summary divider where you want to split the article.
+
+Content that comes before the summary divider will be used as that content’s summary.
+
+{{< admonition >}}
+Be careful to enter `<!--more-->` exactly; i.e., all lowercase and with no whitespace.
+{{< /admonition >}}
+
+### Front Matter Summary
+
+You might want your summary to be something other than the text that starts the article. In this case you can provide a separate summary in the `summary` variable of the article front matter.
+
+### Use Description as Summary
+
+You might want your description in the `description` variable of the article front matter as the summary.
+
+You may add the `<!--more-->` summary divider at the start of the article. Keep content that comes before the summary divider empty. Then **CodeIT** theme will use your description as the summary.
+
+### Priority Order of Summary Selection
+
+Because there are multiple ways in which a summary can be specified it is useful to understand the order. It is as follows:
+
+1. If there is a `<!--more-->` summary divider present in the article but no content is before the divider, the description will be used as the summary.
+2. If there is a `<!--more-->` summary divider present in the article the text up to the divider will be provided as per the manual summary split method.
+3. If there is a summary variable in the article front matter the value of the variable will be provided as per the front matter summary method.
+4. The text at the start of the article will be provided as per the automatic summary split method.
+
+{{< admonition >}}
+It is not recommended to include rich text block elements in the summary, which will cause typographic errors. Such as code blocks, pictures, tables, etc.
+{{< /admonition >}}
+
+## 4 Basic Markdown Syntax
+
+This part is shown in the [basic markdown syntax page](../basic-markdown-syntax/).
+
+## 5 Extended Markdown Syntax {#extended-markdown-syntax}
+
+**CodeIT** theme has some extended syntax elements for you to write articles.
+
+### Emoji Support
+
+This part is shown in the [emoji support page](../emoji-support/).
+
+### Mathematical Formula
+
+**CodeIT** theme supports mathematical formulas based on [$ \KaTeX $](https://katex.org/).
+
+Set the property `enable = true` under `[params.math]` in your [site configuration](../theme-documentation-basics#site-configuration)
+and the property `math: true` of the article front matter to enable the automatic rendering of mathematical formulas.
+
+{{< admonition tip >}}
+Here is a list of [$ \TeX $ functions supported by $ \KaTeX $](https://katex.org/docs/supported.html).
+{{< /admonition >}}
+
+#### Block Formula
+
+The default block delimiters are `$$`/`$$` and `\\[`/`\\]`:
+
+```markdown
+$$ c = \pm\sqrt{a^2 + b^2} $$
+
+\\[ f(x)=\int_{-\infty}^{\infty} \hat{f}(\xi) e^{2 \pi i \xi x} d \xi \\]
+```
+
+The rendered output looks like this:
+
+$$ c = \pm\sqrt{a^2 + b^2} $$
+
+\\[ f(x)=\int_{-\infty}^{\infty} \hat{f}(\xi) e^{2 \pi i \xi x} d \xi \\]
+
+#### Inline Formula
+
+The default inline delimiters are `$`/`$` and `\\(`/`\\)`:
+
+```markdown
+$ c = \pm\sqrt{a^2 + b^2} $ and \\( f(x)=\int\_{-\infty}^{\infty} \hat{f}(\xi) e^{2 \pi i \xi x} d \xi \\)
+```
+
+The rendered output looks like this:
+
+$ c = \pm\sqrt{a^2 + b^2} $ and \\( f(x)=\int\_{-\infty}^{\infty} \hat{f}(\xi) e^{2 \pi i \xi x} d \xi \\)
+
+{{< admonition tip >}}
+You can add more block and inline delimiters in your [site configuration](../theme-documentation-basics#site-configuration).
+{{< /admonition >}}
+
+#### Copy-tex
+
+**[Copy-tex](https://github.com/Khan/KaTeX/tree/master/contrib/copy-tex)** is an extension for **$ \KaTeX $**.
+
+By the extension, when selecting and copying $ \KaTeX $ rendered elements, copies their $ \LaTeX $ source to the clipboard.
+
+Set the property `copyTex = true` under `[params.math]` in your [site configuration](../theme-documentation-basics#site-configuration) to enable Copy-tex.
+
+Select and copy the formula rendered in the previous section, and you can find that the copied content is the LaTeX source code.
+
+#### mhchem
+
+**[mhchem](https://github.com/Khan/KaTeX/tree/master/contrib/mhchem)** is an extension for **$ \KaTeX $**.
+
+By the extension, you can write beautiful chemical equations easily in the article.
+
+Set the property `mhchem = true` under `[params.math]` in your [site configuration](../theme-documentation-basics#site-configuration) to enable mhchem.
+
+```markdown
+$$ \ce{CO2 + C -> 2 CO} $$
+
+$$ \ce{Hg^2+ ->[I-] HgI2 ->[I-] [Hg^{II}I4]^2-} $$
+```
+
+The rendered output looks like this:
+
+$$ \ce{CO2 + C -> 2 CO} $$
+
+$$ \ce{Hg^2+ ->[I-] HgI2 ->[I-] [Hg^{II}I4]^2-} $$
+
+### Ruby Annotation {#ruby}
+
+An extended Markdown syntax for **ruby annotation** is supported in **CodeIT** theme:
+
+```markdown
+[Hugo]{?^}(An open-source static site generator)
+```
+
+The rendered output looks like this:
+
+[Hugo]^(An open-source static site generator)
+
+### Fraction {#fraction}
+
+An extended Markdown syntax for **fraction** is supported in **CodeIT** theme:
+
+```markdown
+[Light]{?/}[Dark]
+
+[99]{?/}[100]
+```
+
+The rendered output looks like this:
+
+[Light]/[Dark]
+
+[90]/[100]
+
+### Font Awesome {#fontawesome}
+
+**CodeIT** theme uses [Font Awesome](https://fontawesome.com/) as the icon library.
+You can easily use these icons in your articles.
+
+Get the `class` of icons you wanted from the [Font Awesome website](https://fontawesome.com/icons?d=gallery).
+
+```markdown
+Gone camping! {?:}(fas fa-campground fa-fw): Be back soon.
+
+That is so funny! {?:}(far fa-grin-tears):
+```
+
+The rendered output looks like this:
+
+Gone camping! :(fas fa-campground fa-fw): Be back soon.
+
+That is so funny! :(far fa-grin-tears):
+
+### Escape character {#escape-character}
+
+In some special cases (when writing this theme documentation :(far fa-grin-squint-tears):),
+your content will conflict with basic or extended Markdown syntax, and it is inevitable.
+
+The escape character syntax can help you build the content you wanted:
+
+```markdown
+{{??}X} -> X
+```
+
+For example, two `:` will enable emoji syntax, which is not the behavior you want. The escape character syntax is like this:
+
+```markdown
+{{??}:}joy:
+```
+
+The rendered output looks like this:
+
+**{?:}joy{?:}** instead of **:joy:**
+
+{{< admonition tip >}}
+This is related to **[an issue for Hugo](https://github.com/gohugoio/hugo/issues/4978)**, which has not been resolved.
+{{< /admonition >}}
+
+Another example is:
+
+```markdown
+[link{{??}]}(#escape-character)
+```
+
+The rendered output looks like this:
+
+**[link{?]}(#escape-character)** instead of **[link](#escape-character)**.