--- title: Linear Starter Guide top: 1 categories: - Hexo status: doing --- [🇨🇳 中文文档](https://mozzie.cn/2023/10/20/Linear%20%E5%85%A5%E9%97%A8/) # Hexo Installation Installing a `Hexo` theme is straightforward. Simply copy the `Hexo-theme-linear` directory to the `themes` directory, and then modify the theme configuration in `Hexo`'s `_config.yml`. ```yml # Locate the theme setting theme: hexo-theme-linear ``` ## Acquiring Linear - Visit [Linear's code repository](https://github.com/17px/hexo-theme-linear/tree/main) to stay updated on the latest theme developments. - Download `hexo-theme-linear.zip` from the [releases page](https://github.com/17px/hexo-theme-linear/releases). - Extract it into your site's `themes` directory. - Enable it in Hexo's `_config.yml`. # Hexo Configuration Adjust settings in `Hexo`'s `_config.yml`. ## Basic Configuration ```yml # Website title title: 17px blog # Sidebar header subtitle: "Mozzie" # HTML meta description for SEO description: "" # HTML meta keywords for SEO keywords: # Copyright text displaying author's name author: Mozzie # Set your website URL here url: https://mozzie.cn ``` ## Language Switch You can find different language files in `hex theme liner/languages`. If you want to switch languages, fill in the file name of `yml` in the `_config.yml` file ```yml language: en ``` ## Code Highlighting Disable Hexo's default highlight.js syntax highlighting. ```yml highlight: enable: false line_number: true auto_detect: false tab_replace: "" wrap: true hljs: false prismjs: enable: true preprocess: true line_number: true line_threshold: 0 tab_replace: "" ``` # Linear Theme Configuration 💡 The following settings are based on the `_config.yml` under `hexo-theme-linear`. ## Post Category Icons In sequence, set the `svg` icons. You can get a wide variety of icons at [xicon](https://www.xicons.org/). ```yml postCategoryIcons: - ... - ... - ... ``` ## Website Favicon - Supports `svg` - Supports `image URL`, e.g., `/img/favicon.png` ```yml favicon: '' ``` ## ICP Number 🇨🇳 😁 If not required, can be directly deleted. ```yml icp: 苏ICP备xxxxxxx号-x ``` ## Footer Text on Homepage 🇨🇳 😁 If not required, can be directly deleted or set to `false`. ```yml motto: false ``` ## Post Copyright Statement Enabled by default. When `enable: false`, it is disabled by default. ```yml postCopyright: enable: true license: CC BY-NC-SA 4.0 license_url: https://creativecommons.org/licenses/by-nc-sa/4.0/ ``` ## Katex Mathematical Formulas You can configure the CDN yourself. ```yml katex: enable: true jsCdn: //cdn.jsdelivr.net/npm/katex@0.13.18/dist/katex.min.js cssCdn: //cdn.jsdelivr.net/npm/katex@0.13.18/dist/katex.min.css ``` ## Mermaid Flowcharts To draft flowchart syntax, use `{% mermaid %}` and `{% endmermaid %}` as wrappers. ```markdown {% mermaid %} graph TD; A --> B; A --> C; B --> D; C --> D; {% endmermaid %} ``` Corresponding configurations are as follows: ```yml mermaid: enable: true cdn: //cdn.jsdelivr.net/npm/mermaid@10.4.0/dist/mermaid.min.js ``` ## Valine Comments First, register as a `LeanCloud` international user and create a database. Please proceed in accordance with relevant regional regulations. ```yml valine: enable: true # 替换 appId: appId # 替换 appKey: appKey avatar: monsterid cdn: //unpkg.com/valine@latest/dist/Valine.min.js # 替换 serverURLs: //xxxxxxxx.api.lncldglobal.com ``` # Algolia Search The blog comes with built-in local search, based on frontend development, which may have some issues. It's recommended to switch to `Algolia`. The free account has a total of 10,000 records and 100,000 operations per month. ## Register & Acquire Key 1. Create a new `Index`, for example, `hex-blog` 2. Copy and save: - Application ID - Search-Only API Key - Admin API Key - Usage API Key [API Keys](/img/algolia-api-keys.png) 3. Replace configurations Add the following to Hexo's `_config.yml` ```yml algolia: # Replace appId: Application ID # Replace apiKey: Usage API Key # Do not disclose, used for reporting, replace adminApiKey: Admin API Key # Replace SearchOnlyAPIKey: Search-Only API Key chunkSize: 5000 # Replace indexName: hex-blog fields: - content:strip - categories - date - permalink - slug - tags - title ``` ## Install hexo-algoliasearch This is a Hexo blog post index plugin that automates the submission of indexes to Algolia. > If you encounter any problems, you can read the [hexo-algoliasearch repository](https://www.npmjs.com/package/hexo-algoliasearch) for the latest instructions. Installation command: ```bash npm install hexo-algoliasearch --save ``` ## Using Algolia Before publishing each blog post, carry out index uploading operations. The usual commands are as follows: ```bash hexo clean hexo generate hexo algolia ``` # QWeather Widget 🇨🇳 Linear mainly targets domestic users and integrates QWeather cards on the homepage. Register via [QWeather Developer Service](https://dev.qweather.com/docs/start/). After registering, fill in your `appKey` and `cityCode` in the configuration. ```yml weather: enable: true # Replace cityCode: cityCode appKey: appKey ``` You can find your city's `cityCode` in the official region list repository's `China-City-List-latest.csv`.