Markdown 语法

让我们面对现实吧:为网络编写内容令人厌烦。WYSIWYG编辑器有助于缓解这项任务,但它们通常会导致可怕的代码,或者更糟糕的是,丑陋的网页。

Markdown是编写HTML的更好方法,没有通常随之而来的所有复杂性和丑陋。

一些关键的好处是:

  1. Markdown学习简单,额外的字符很少,因此编写内容也更快。
  2. 在Markdown中书写时出错的可能性更小。
  3. 生成有效的HTML输出。
  4. 将内容和视觉显示分开,这样您就不会弄乱网站的外观。
  5. 写任何你喜欢的文本编辑器或Markdown应用程序。
  6. Markdown使用起来很愉快!

《Markdown》的作者John Gruber是这样说的:

Markdown格式语法的首要设计目标是使其尽可能具有可读性。其想法是,Markdown格式的文档应该是可按原样发布的,作为纯文本,而不会看起来像是用标记或格式说明标记的。虽然Markdown的语法受到了现有的几种文本到HTML过滤器的影响,但Markdown语法的最大灵感来源是纯文本电子邮件的格式. 约翰·格鲁伯

不再拖延,让我们来看看Markdown的主要元素以及由此产生的HTML是什么样子的:

提示

Bookmark this page and the official Commonmark reference for easy future reference!

段落

在Markdown中,您的内容通常跨越整个可用文档宽度。这被称为块。在生成的文档中,块总是用空格与相邻的块隔开。 任何不以特殊符号开头的文本都被写成普通的纯文本段落块,并且必须用空行与相邻的块隔开。

Lorem ipsum dolor sit amet, graecis denique ei vel, at duo primis mandamus.

Et legere ocurreret pri, animal tacimates complectitur ad cum. Cu eum inermis inimicus efficiendi. Labore officiis his ex, soluta officiis concludaturque ei qui, vide sensibus vim ad.
Result

Lorem ipsum dolor sit amet, graecis denique ei vel, at duo primis mandamus.

Et legere ocurreret pri, animal tacimates complectitur ad cum. Cu eum inermis inimicus efficiendi. Labore officiis his ex, soluta officiis concludaturque ei qui, vide sensibus vim ad.

标题

一个好主意是使用标题和副标题来组织您的内容。 Html–从h1h6的标题,每一级都有一个#。 在Hugo中,您通常不使用h1,因为这是由您的主题生成的,并且在一个文档中应该只有一个这样的元素。

# h1 Heading

## h2 Heading

### h3 Heading

#### h4 Heading

##### h5 Heading

###### h6 Heading
Result

h1 Heading

h2 Heading

h3 Heading

h4 Heading

h5 Heading
h6 Heading

Horizontal Rules

To further structure your content you can add horizontal rules. They create a “thematic break” between paragraph blocks. In Markdown, you can create it with three consecutive dashes ---.

Lorem ipsum dolor sit amet, graecis denique ei vel, at duo primis mandamus.

---

Et legere ocurreret pri, animal tacimates complectitur ad cum. Cu eum inermis inimicus efficiendi. Labore officiis his ex, soluta officiis concludaturque ei qui, vide sensibus vim ad.
Result

Lorem ipsum dolor sit amet, graecis denique ei vel, at duo primis mandamus.


Et legere ocurreret pri, animal tacimates complectitur ad cum. Cu eum inermis inimicus efficiendi. Labore officiis his ex, soluta officiis concludaturque ei qui, vide sensibus vim ad.

Text Markers

Bold

You can show importance of a snippet of text with a heavier font-weight by enclosing it with two asterisks **.

I am rendered with **bold text**
Result

I am rendered with bold text

Italics

You can emphasize a snippet of text with italics by enclosing it with underscores _.

I am rendered with _italicized text_
Result

I am rendered with italicized text

Strikethrough

In GFM (GitHub Flavored Markdown) you can do strikethroughs by enclosing text with two tildes ~~.

~~Strike through this text~~
Result

Strike through this text

Text substitution

This Markdown dialect supports an extension to combine multiple punctuation characters to single typographic entities. This will only be applied to text outside of code blocks or inline code.

Double quotes `"` and single quotes `'` of enclosed text are replaced by **"double curly quotes"** and **'single curly quotes'**.

Double dashes `--` and triple dashes `---` are replaced by en-dash **--** and em-dash **---** entities.

Double arrows pointing left `<<` or right `>>` are replaced by arrow **<<** and **>>** entities.

Three consecutive dots `...` are replaced by an ellipsis **...** entity.
Result

Double quotes " and single quotes ' of enclosed text are replaced by “double curly quotes” and ‘single curly quotes’.

Double dashes -- and triple dashes --- are replaced by en-dash and em-dash entities.

Double arrows pointing left << or right >> are replaced by arrow « and » entities.

Three consecutive dots ... are replaced by an ellipsis entity.

Lists

Unordered

You can write a list of items in which the order of the items does not explicitly matter.

It is possible to nest lists by indenting an item for the next sublevel.

You may use any of -, * or + to denote bullets for each list item but should not switch between those symbols inside one whole list.

- Lorem ipsum dolor sit amet
- Consectetur adipiscing elit
  - Vestibulum laoreet porttitor sem
  - Ac tristique libero volutpat at
- Nulla volutpat aliquam velit
  - Phasellus iaculis neque
  - Purus sodales ultricies
- Faucibus porta lacus fringilla vel
Result
  • Lorem ipsum dolor sit amet
  • Consectetur adipiscing elit
    • Vestibulum laoreet porttitor sem
    • Ac tristique libero volutpat at
  • Nulla volutpat aliquam velit
    • Phasellus iaculis neque
    • Purus sodales ultricies
  • Faucibus porta lacus fringilla vel

Ordered

You can create a list of items in which the order of items does explicitly matter.

It is possible to nest lists by indenting an item for the next sublevel.

Markdown will automatically number each of your items consecutively. This means, the order number you are providing is irrelevant.

1. Lorem ipsum dolor sit amet
3. Consectetur adipiscing elit
    1. Integer molestie lorem at massa
    7. Facilisis in pretium nisl aliquet
99. Nulla volutpat aliquam velit
    1. Faucibus porta lacus fringilla vel
    1. Aenean sit amet erat nunc
17. Eget porttitor lorem
Result
  1. Lorem ipsum dolor sit amet
  2. Consectetur adipiscing elit
    1. Integer molestie lorem at massa
    2. Facilisis in pretium nisl aliquet
  3. Nulla volutpat aliquam velit
    1. Faucibus porta lacus fringilla vel
    2. Aenean sit amet erat nunc
  4. Eget porttitor lorem

Tasks

In GFM (GitHub Flavored Markdown) you can add task lists resulting in checked or unchecked non-clickable items

- [x] Basic Test
- [ ] More Tests
  - [x] View
  - [x] Hear
  - [ ] Smell
Result
  • Basic Test
  • More Tests
    • View
    • Hear
    • Smell

Definitions

This Markdown dialect supports an extension to add definition lists. Definition lists are made of terms and definitions of these terms, much like in a dictionary.

A definition list in Markdown Extra is made of a single-line term followed by a colon and the definition for that term. You can also associate more than one term to a definition.

If you add empty lines around the definition terms, additional vertical space will be generated. Also multiple paragraphs are possible

Apple
: Pomaceous fruit of plants of the genus Malus in the family Rosaceae.
: An American computer company.

Orange
: The fruit of an evergreen tree of the genus Citrus.

  You can make juice out of it.
: A telecommunication company.

  You can't make juice out of it.
Result
Apple
Pomaceous fruit of plants of the genus Malus in the family Rosaceae.
An American computer company.
Orange
The fruit of an evergreen tree of the genus Citrus.

You can make juice out of it.

A telecommunication company.

You can’t make juice out of it.

Code

Inline Code

Inline snippets of code can be wrapped with backticks `.

In this example, `<div></div>` is marked as code.
Result

In this example, <div></div> is marked as code.

Indented Code Block

A simple code block can be generated by indenting several lines of code by at least two spaces.

Be impressed by my advanced code:

    // Some comments
    line 1 of code
    line 2 of code
    line 3 of code
Result

Be impressed by my advanced code:

// Some comments
line 1 of code
line 2 of code
line 3 of code

Fenced Code Block

If you want to gain more control of your code block you can enclose your code by at least three backticks ``` a so called fence.

In GFM (GitHub Flavored Markdown) you can also add a language specifier directly after the opening fence, ```js, and syntax highlighting will automatically be applied according to the selected language in the rendered HTML.

See for additional documentation.

```js
grunt.initConfig({
  assemble: {
    options: {
      assets: 'docs/assets',
      data: 'src/data/*.{json,yml}',
      helpers: 'src/custom-helpers.js',
      partials: ['src/partials/**/*.{hbs,md}']
    },
    pages: {
      options: {
        layout: 'default.hbs'
      },
      files: {
        './': ['src/templates/pages/index.hbs']
      }
    }
  }
};
```
Result
grunt.initConfig({
  assemble: {
    options: {
      assets: 'docs/assets',
      data: 'src/data/*.{json,yml}',
      helpers: 'src/custom-helpers.js',
      partials: ['src/partials/**/*.{hbs,md}']
    },
    pages: {
      options: {
        layout: 'default.hbs'
      },
      files: {
        './': ['src/templates/pages/index.hbs']
      }
    }
  }
};

Tables

In GFM (GitHub Flavored Markdown) you can create tables by adding pipes as dividers between each cell, and by adding a line of dashes (also separated by bars) beneath the header. Note that the pipes do not need to be vertically aligned.

| Option | Description |
|--------|-------------|
| data   | path to data files to supply the data that will be passed into templates. |
| engine | engine to be used for processing templates. Handlebars is the default. |
| ext    | extension to be used for dest files. |
Result
Option Description
data path to data files to supply the data that will be passed into templates.
engine engine to be used for processing templates. Handlebars is the default.
ext extension to be used for dest files.

Aligned Columns

Adding a colon on the left and/or right side of the dashes below any heading will align the text for that column accordingly.

| Option | Number | Description |
|-------:|:------:|:------------|
| data   | 1      | path to data files to supply the data that will be passed into templates. |
| engine | 2      | engine to be used for processing templates. Handlebars is the default. |
| ext    | 3      | extension to be used for dest files. |
Result
Option Number Description
data 1 path to data files to supply the data that will be passed into templates.
engine 2 engine to be used for processing templates. Handlebars is the default.
ext 3 extension to be used for dest files.

Blockquotes

For quoting blocks of content from another source within your document add > before any text you want to quote.

Blockquotes can also be nested.

> Donec massa lacus, ultricies a ullamcorper in, fermentum sed augue. Nunc augue augue, aliquam non hendrerit ac, commodo vel nisi.
>
> > Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam.
>
> Mauris sit amet ligula egestas, feugiat metus tincidunt, luctus libero. Donec congue finibus tempor. Vestibulum aliquet sollicitudin erat, ut aliquet purus posuere luctus.
Result

Donec massa lacus, ultricies a ullamcorper in, fermentum sed augue. Nunc augue augue, aliquam non hendrerit ac, commodo vel nisi.

Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam.

Mauris sit amet ligula egestas, feugiat metus tincidunt, luctus libero. Donec congue finibus tempor. Vestibulum aliquet sollicitudin erat, ut aliquet purus posuere luctus.

In GFM (GitHub Flavored Markdown) absolute URLs will automatically be converted into a link.

This is a link to https://example.com.
Result

This is a link to https://example.com.

You can explicitly define links in case you want to use non-absolute URLs or want to give different text.

[Assemble](http://assemble.io)
Result

For even further information, you can add an additional text, displayed in a tooltip on hovering over the link.

[Upstage](https://github.com/upstage/ "Visit Upstage!")
Result

Links can be simplyfied for recurring reuse by using a reference ID to later define the URL location. This simplyfies writing if you want to use a link more than once in a document.

[Example][somelinkID]

[somelinkID]: https://example.com "Go to example domain"
Result

Footnotes

Footnotes work mostly like reference-style links. A footnote is made of two things, a marker in the text that will become a superscript number and a footnote definition that will be placed in a list of footnotes.

Usually the list of footnotes will be shown at the end of your document. If we use a footnote in a notice box it will instead be listed at the end of its box.

Footnotes can contain block elements, which means that you can put multiple paragraphs, lists, blockquotes and so on in a footnote. It works the same as for list items, just indent the following paragraphs by four spaces in the footnote definition.

That's some text with a footnote[^1]

[^1]: And that's the footnote.

That's some more text with a footnote.[^someid]

[^someid]:
    Anything of interest goes here.

    Blue light glows blue.
Result

That’s some text with a footnote1

That’s some more text with a footnote.2


  1. And that’s the footnote. ↩︎

  2. Anything of interest goes here.

    Blue light glows blue. ↩︎

Images

Basic Images

Images have a similar syntax to links but include a preceding exclamation mark.

![Spock](https://octodex.github.com/images/spocktocat.png)
Result

Spock Spock

Image with Tooltip

Like links, images can also be given a tooltip.

![Picard](https://octodex.github.com/images/jean-luc-picat.jpg "Jean Luc Picard")
Result

Picard Picard

Image References

Images can also be linked by reference ID to later define the URL location. This simplyfies writing if you want to use an image more than once in a document.

![La Forge][laforge]

[laforge]: https://octodex.github.com/images/trekkie.jpg "Geordi La Forge"
Result

La Forge La Forge

Image Effects

This theme allows additional non-standard formatting by setting query parameter at the end of the image URL. The default thru your hugo.toml or frontmatter parameter.

Resizing

Add query parameter width and/or height to the link image to resize the image. Values are CSS values (default is auto).

![Minion](https://octodex.github.com/images/minion.png?width=20vw)
Result

Minion Minion

![Minion](https://octodex.github.com/images/minion.png?height=50px)
Result

Minion Minion

![Minion](https://octodex.github.com/images/minion.png?height=50px&width=40vw)
Result

Minion Minion

CSS Classes

Add a query parameter classes to the link image to add CSS classes. Add some of the predefined values or even define your own in your CSS.

Shadow
![Spidertocat](https://octodex.github.com/images/spidertocat.png?classes=shadow)
Result

Spidertocat Spidertocat

Border
![DrOctocat](https://octodex.github.com/images/droctocat.png?classes=border)
Result

DrOctocat DrOctocat

Left
![Supertocat](https://octodex.github.com/images/okal-eltocat.jpg?classes=left)
Result

Supertocat Supertocat

![Riddlocat](https://octodex.github.com/images/riddlocat.jpg?classes=right)
Result

Riddlocat Riddlocat

Inline
![Spidertocat](https://octodex.github.com/images/spidertocat.png?classes=inline)
![DrOctocat](https://octodex.github.com/images/droctocat.png?classes=inline)
![Supertocat](https://octodex.github.com/images/okal-eltocat.jpg?classes=inline)
![Riddlocat](https://octodex.github.com/images/riddlocat.jpg?classes=inline)
Result

Spidertocat Spidertocat DrOctocat DrOctocat Supertocat Supertocat Riddlocat Riddlocat

Combination
![X-tocat](https://octodex.github.com/images/xtocat.jpg?classes=shadow,border,left)
Result

X-tocat X-tocat

Add the query parameter lightbox=false to the image link to disable the lightbox.

![Homercat](https://octodex.github.com/images/homercat.png?lightbox=false)
Result

Homercat

注释

If you want to wrap an image in a link and lightbox=true is your default setting, you have to explicitly disable the lightbox to avoid it to hijacking your link like:

[![Homercat](https://octodex.github.com/images/homercat.png?lightbox=false)](https://octodex.github.com/#homercat)

Homercat

Markdown 语法 的子部分

第1章

个人笔记

首先使用以下命令创建第一章页面

hugo new --kind chapter basics/_index.md

然后,在之前创建的章节中创建内容页面。以下是在本章中创建内容的两种方法

hugo new basics/first-content.md
hugo new basics/second-content/_index.md

在本地启动网站

 hugo serve

浏览器打开 [http://localhost:1313]

构建网站

当您的网站准备部署时,运行以下命令: hugo

罗马字母的第一个字母public将生成文件夹,包含您网站的所有静态内容和资产。它现在可以部署在任何网络服务器上.

一:查看安装版本

hugo version

二:安装Hugo ➡️ 已经安装就忽略

brew install hugo

三:创建本地站点 ➡️ 进入根目录

hugo new site My-6oo; cd My-6oo

克隆主题到本地

git clone https://github.com/McShelby/hugo-theme-relearn.git

指向当前主题路径

echo "theme = 'hugo-theme-relearn'" >> hugo.toml

或者

hugo server -t hugo-theme-relearn --buildDrafts
hugo server -t shadocs --buildDrafts

四:创建章节页面

主题提供了为您的网站创建骨架的原型。

hugo new --kind chapter 个人笔记/_index.md

五:创建您的第一个内容页面

然后,在之前创建的章节中创建内容页面。以下是在本章中创建内容的两种方法:

hugo new 开源工具/小工具推荐/_index.md
hugo new basics/first-content.md

通过添加一些示例内容并替换文件开头的值来编辑这些文件。title

六:在本地启动网站

使用以下命令启动:

hugo server

转到http://localhost:1313

您应该注意三件事:

  1. 您有一个左侧的“基本”菜单,其中包含两个子菜单,其名称与先前创建的文件中的属性相同。title
  2. 页说明了如何按照说明对其进行自定义。
  3. 跑步时hugo serve,当文件内容发生更改时,页面会自动刷新。整洁!

建立网站 当站点准备好部署时,请运行以下命令:

hugo

四:克隆主题到本地

git clone https://github.com/zhaohuabing/hugo-theme-cleanwhite.git
git clone https://github.com/McShelby/hugo-theme-relearn.git

2:或者

cd myblog/themes 把exampleSite文件夹内容复制到根目录

cp -r relearn/exampleSite/** ../
cd ..

五:运行指定主题

hugo server -t relearn --buildDrafts

六:创建github仓库

hugo --theme=hugo-theme-cleanwhite --baseURL="https://6oo-cn.github.io" --buildDrafts
cd public

检查配置信息

git config --global --list

创建文章

hugo new post/my-post.md

指向当前主题路径

echo "theme = 'paper'" >> hugo.toml

或者:

hugo server -t hugo-theme-cleanwhite --buildDrafts

2:启动雨果的开发服务器来查看网站

hugo server --buildDrafts

hugo server -D

发布博客到Github Pagesgit

一:克隆git仓库到本地

git clone git@github.com:6oo-cn/6oo-cn.github.io.git

二:制作软链接

Ln -s /Users/6oo-cn/wwwblog/6oo-cn.github.io /Users/6oo-cn/wwwblog/public

三:初始化已存在的 Git 仓库

git init
1: hugo
2: cd 6oo-cn.github.io
3: git status
4: git add *
5: git status
6: git commit -m "我的第2次提交"
7 :git push

二次提交从 4 步开始


创建ssh keys

ssh-keygen -t rsa -b 1718 -C "vip.6oo@qq.com"

回车三次

cat ~/.ssh/id_rsa.pu

个人笔记 的子部分

HUGO 笔记

创建页面及文章

首先使用以下命令创建章节

hugo new --kind chapter 个人笔记/_index.md

然后,在之前创建的章节中创建内容页面。以下是在本章中创建内容的两种方法

hugo new 个人笔记/文章标题.md
hugo new 个人笔记/文章分类/_index.md

更改Favicon

如果您的faviconSVGPNGICO,只需将您的图像放在您网站的static/images/目录并命名它favicon.svgfavicon.png

更换徽标

在网站的layouts/partials/logo.html中创建新文件。然后写任何你想要的HTML。您可以使用一个imgHTML标签并引用在_static_ folder下创建的图像,或者您可以粘贴一个SVG定义!

注释

徽标的大小将自动适应。

部分

Relearn主题已通过定义多个 partials-部分

In themes/hugo-theme-relearn/layouts/partials/, 您将找到为此主题定义的所有部分。如果您需要覆盖某些内容,请不要直接更改代码。相反,请关注此页面. 你会在…中创建一个新的部分layouts/partials您本地项目的文件夹。这部分将具有优先权。

这个主题定义了以下部分:

  • header.html: 页面的标题。查看 output-formats - 输出格式
  • footer.html: 页面的页脚。查看 output-formats - 输出格式
  • body.html: 页面正文。身体可能包含一件或多件物品。查看输出格式 output-formats
  • article.html: 单篇文章的输出,可以包含围绕您内容的元素。查看输出格式 output-formats
  • menu.html: 左侧菜单。无意被覆盖
  • search.html: 搜索框。无意被覆盖
  • custom-header.html: 页面中的自定义标题。意味着在添加CSS导入时被覆盖。不要忘记在文件中包含 style HTML标签指令。
  • custom-footer.html: 页面中的自定义页脚。意味着在添加JavaScript时被覆盖。别忘了包括javascript文件中的HTML标签指令。
  • favicon.html: 网站图标
  • heading.html: 侧边配置,以改变页面标题标题。
  • heading-pre.html: 侧边配置,以附加到页面标题标题。如果你忽略了这一点,你有责任考虑页面的headingPre设置。
  • heading-post.html: 侧边配置,以附加到页面标题标题。如果您忽略了这一点,您有责任考虑页面的headingPost设置。
  • logo.html: 徽标,在左上角
  • meta.html: HTML元标记,如果您想更改默认行为
  • menu-pre.html: 侧边配置,以先于菜单项。如果您覆盖此,您有责任获取该页面的menuPre考虑在内。
  • menu-post.html: 侧边配置,以附加到菜单项。如果您覆盖此,您有责任获取该页面的menuPost考虑在内。
  • menu-footer.html: 左侧菜单的页脚
  • toc.html: 目录表
  • content.html: 内容页本身。如果您希望在内容上方或下方显示页面的元数据,则可以重写。
  • content-header.html: 标题上方的标题,有一个默认的实现,但如果你不喜欢它,你可以覆盖它。
  • content-footer.html: 内容下方的页脚,有一个默认实现,但如果你不喜欢它,你可以覆盖它。

在本地启动网站

hugo serve

浏览器打开 http://localhost:1313

构建网站

当您的网站准备部署时,运行以下命令:

hugo

罗马字母的第一个字母public将生成文件夹,包含您网站的所有静态内容和资产。它现在可以部署在任何网络服务器上.

一:查看安装版本

hugo version

二:安装Hugo ➡️ 已经安装就忽略

brew install hugo

三:创建本地站点 ➡️ 进入根目录

hugo new site My-6oo; cd My-6oo

克隆主题到本地

git clone https://github.com/McShelby/hugo-theme-relearn.git

指向当前主题路径

    echo "theme = 'hugo-theme-relearn'" >> hugo.toml

或者

    hugo server -t hugo-theme-relearn --buildDrafts
    hugo server -t shadocs --buildDrafts

四:创建章节页面

主题提供了为您的网站创建骨架的原型。

hugo new --kind chapter 个人笔记/_index.md

五:创建您的第一个内容页面

然后,在之前创建的章节中创建内容页面。以下是在本章中创建内容的两种方法:

hugo new 开源工具/小工具推荐/_index.md
hugo new basics/first-content.md

通过添加一些示例内容并替换文件开头的值来编辑这些文件。title

六:在本地启动网站

使用以下命令启动:

hugo server

转到http://localhost:1313

您应该注意三件事:

  1. 您有一个左侧的“基本”菜单,其中包含两个子菜单,其名称与先前创建的文件中的属性相同。title
  2. 页说明了如何按照说明对其进行自定义。
  3. 跑步时hugo serve,当文件内容发生更改时,页面会自动刷新。整洁!

建立网站 当站点准备好部署时,请运行以下命令:

hugo

四:克隆主题到本地

git clone https://github.com/zhaohuabing/hugo-theme-cleanwhite.git
git clone https://github.com/McShelby/hugo-theme-relearn.git

2:或者

cd myblog/themes 把exampleSite文件夹内容复制到根目录

cp -r relearn/exampleSite/** ../
cd ..

五:运行指定主题

hugo server -t relearn --buildDrafts

六:创建github仓库

hugo --theme=hugo-theme-cleanwhite --baseURL="https://6oo-cn.github.io" --buildDrafts
cd public

检查配置信息

git config --global --list

创建文章

hugo new post/my-post.md

指向当前主题路径

echo "theme = 'paper'" >> hugo.toml

或者:

hugo server -t hugo-theme-cleanwhite --buildDrafts

2:启动雨果的开发服务器来查看网站

hugo server --buildDrafts

hugo server -D

发布博客到Github Pagesgit

一:克隆git仓库到本地

git clone git@github.com:6oo-cn/6oo-cn.github.io.git

二:制作软链接

Ln -s /Users/6oo-cn/wwwblog/6oo-cn.github.io /Users/6oo-cn/wwwblog/public

三:初始化已存在的 Git 仓库

git init
1. hugo
2. cd 6oo-cn.github.io
3. git status
4. git add *
5. git status
6. git commit -m "我的第2次提交"
7. git push

二次提交从 4 步开始

创建ssh keys

ssh-keygen -t rsa -b 1718 -C "<vip.6oo@qq.com>"

回车三次

cat ~/.ssh/id_rsa.pu

HUGO 笔记 的子部分

前端设置

每个 Hugo 页面都必须在toml、yaml或json中定义一个frontmatter。本网站将使用toml进行文档处理,在任何情况下都是。

# If an option value is said to be not set, you can achieve the same behavior
# by given it an empty string value.

###############################################################################
# Hugo
# These options usually apply to other themes aswell.

# The social media image of your page.
# Default: not set
# This is used for generating social media meta information for the opengraph
# protocol and twitter cards.
# If not set, the set value of your site's hugo.toml is used.
images = [ "images/hero.png" ]

# The title of your page.
# Default: not set
# A page without a title is treated as a hidden page.
title = "Example Page"

# The description of your page.
# Default: not set
# This is used for generating HTML meta tags, social media meta information
# for the opengraph protocol and twitter cards.
# If not set, the set value of your site's hugo.toml is used for the html
# meta tag, social media meta information for the opengraph protocol and
# twitter cards.
description = ""

###############################################################################
# Relearn Theme
# These options are specific to the Relearn theme.

#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Topbar
# These options modify the topbar appearance.

# Hide the table of contents button.
# Default: false
# If the TOC button is hidden, also the keyboard shortcut is disabled.
# If not set, the set value of your site's hugo.toml is used.
disableToc = false

# Hide the breadcrumbs.
# Default: false
# If the breadcrumbs are hidden, the title of the displayed page will still be
# shown in the topbar.
disableBreadcrumb = false

# Hide Next and Previous navigation buttons.
# Default: false
# If the navigation buttons are hidden, also the keyboard shortcuts are
# disabled.
disableNextPrev = false

# The URL prefix to edit a page.
# Default: not set
# If set, an edit button will be shown in the topbar. If the button is hidden,
# also the keyboard shortcuts are disabled. The value can contain the macro
# `${FilePath}` which will be replaced by the file path of your displayed page.
# If not set, the set value of your site's hugo.toml is used. If the global
# parameter is given but you want to hide the button for the displayed page,
# you can set the value to an empty string. If instead of hiding you want to have
# an disabled button, you can set the value to a string containing just spaces.
# This is useful if you want to give the opportunity for people to create merge
# request for your content.
editURL = ""

#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Menu
# These options modify the menu apperance.

# The title in main menu.
# Default: <title>
# If set, this will be used for the page's menu entry instead of the `title`
# option.
menuTitle = ""

# Prefix for the title in main menu.
# Default: not set
# The title of the page in the menu will be prefixed by this HTML content.
menuPre = ""

# Suffix for the title in main menu.
# Default: not set
# The title of the page in the menu will be suffixed by this HTML content.
menuPost = ""

# The order of main menu submenus.
# Default: "weight"
# Submenus can be ordered by "weight", "title", "linktitle", "modifieddate",
# "expirydate", "publishdate", "date", "length" or "default" (adhering to
# Hugo's default sort order).
# If not set, the value of the parent menu entry is used.
ordersectionsby = "weight"

# The initial expand state of submenus.
# Default: not set
# This controls whether submenus will be expanded (true), or collapsed (false)
# in the menu. If not set, the first menu level is set to false, all others
# levels are set to true. If not set, the value of the parent menu entry is used.
# If the displayed page has submenus, they will always been displayed expanded
# regardless of this option.
alwaysopen = ""

# Shows expander for submenus.
# Default: false
# If set to true, a submenu in the sidebar will be displayed in a collapsible
# tree view and a clickable expander is set in front of the entry.
# If not set, the set value of your site's hugo.toml is used.
collapsibleMenu = true

#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Hidden pages
# These options configure how hidden pages are treated.
# A page flagged as hidden, is only removed from the main menu if you are
# currently not on this page or the hidden page is not part of current page's
# ancestors. For all other functionality in Hugo a hidden page behaves like any
# other page if not otherwise configured.

# Hide a page's menu entry.
# Default: false
# If this value is true, the page is hidden from the menu.
hidden = false

#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Content
# These options modify how your content is displayed.

# Prefix for the title in the content area.
# Default: not set
# The title of the page heading will be prefixed by this HTML content.
headingPre = ""

# Suffix for the title in the content area.
# Default: not set
# The title of the page heading will be suffixed by this HTML content.
headingPost = ""

# Display name of the page's last editor.
# Default: not set
# If set, it will be displayed in the default footer.
LastModifierDisplayName = ""

# Email address of the page's last editor.
# Default: not set
# If set together with LastModifierDisplayName, it will be displayed in the
# default footer.
LastModifierEmail = ""

#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Highlight
# These options configure how code is displayed.

# Wrap for code blocks.
# Default: true
# By default lines of code blocks wrap around if the line is too long to be
# displayed on screen. If you dislike this behavior, you can reconfigure it
# here.
# Note that lines always wrap in print mode regardless of this option.
# If not set, the set value of your site's hugo.toml is used or given as a
# parameter to individual code blocks.
highlightWrap = true

#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Images
# These options configure how images are displayed.

# Image effects.
# See the documentation for how you can even add your own arbitrary effects to
# the list.
# All effect values default to the values of your site's hugo.toml and can be
# overridden thru URL parameter given to the image. See the documentation for
# details.

# Default: false
imageEffects.border = true
# Default: true
imageEffects.lightbox = true
# Default: false
imageEffects.shadow = false

#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# MathJax
# These options configure how math formulae are displayed.

# Initialization options for MathJax.
# Default: not set
# A JSON value. See the MathJaxdocumentation for possible parameter.
# If not set, the set value of your site's hugo.toml is used.
mathJaxInitialize = "{}"

# Only load MathJax if needed.
# Default: true
# If a Math shortcode is found, the option will be ignored and
# MathJax will be loaded regardlessly. The option is still useful in case you
# are using scripting to set up your graph. In this case no shortcode or
# codefence is involved and the library is not loaded by default. In this case
# you can set `disableMathJax=false` in your frontmatter to force the library to
# be loaded.
# If not set, the set value of your site's hugo.toml is used.
disableMathJax = true

# URL for external MathJax library.
# Default: not set
# Specifies the remote location of the MathJax library. By default the shipped
# version will be used.
# If not set, the set value of your site's hugo.toml is used.
customMathJaxURL = "" # "https://unpkg.com/mathjax/es5/tex-mml-chtml.js"

#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Mermaid
# These options configure how Mermaid graphs are displayed.

# Make graphs panable and zoomable
# Default: false
# For huge graphs it can be helpful to make them zoomable. Zoomable graphs come
# with a reset button for the zoom.
# If not set, the set value of your site's hugo.toml is used or given as a
# parameter to individual graphs.
mermaidZoom = true

# Initialization options for Mermaid.
# Default: not set
# A JSON value. See the Mermaid documentation for possible parameter.
# If not set, the set value of your site's hugo.toml is used.
mermaidInitialize = "{ \"securityLevel\": \"loose\" }"

# Only load Mermaid if needed.
# Default: true
# If a Mermaid shortcode or codefence is found, the option will be ignored and
# Mermaid will be loaded regardlessly. The option is still useful in case you
# are using scripting to set up your graph. In this case no shortcode or
# codefence is involved and the library is not loaded by default. In this case
# you can set `disableMermaid=false` in your frontmatter to force the library to
# be loaded.
# If not set, the set value of your site's hugo.toml is used.
disableMermaid = true

# URL for external Mermaid library.
# Default: not set
# Specifies the remote location of the Mermaid library. By default the shipped
# version will be used.
# If not set, the set value of your site's hugo.toml is used.
customMermaidURL = "" # "https://unpkg.com/mermaid/dist/mermaid.min.js"

#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# OpenApi
# These options configure how OpenAPI specifications are displayed.

# Only load OpenAPI if needed.
# Default: true
# If a OpenAPI shortcode is found, the option will be ignored and
# OpenAPI will be loaded regardlessly. The option is still useful in case you
# are using scripting to set up your graph. In this case no shortcode or
# codefence is involved and the library is not loaded by default. In this case
# you can set `disableOpenapi=false` in your frontmatter to force the library to
# be loaded.
# If not set, the set value of your site's hugo.toml is used.
disableOpenapi = true

# URL for external OpenAPI library.
# Default: not set
# Specifies the remote location of the OpenAPI library. By default the shipped
# version will be used.
# If not set, the set value of your site's hugo.toml is used.
customOpenapiURL = "" # "https://unpkg.com/swagger-ui-dist/swagger-ui-bundle.js"

一些详细的示例

将图标添加到菜单条目

在页面前页中,添加一个 menuPre 参数在菜单标签之前插入任何HTML代码。下面的示例使用GitHub图标。

+++
title = "GitHub repo"
menuPre = "<i class='fab fa-github'></i> "
+++

Title with icon Title with icon

订购兄弟姐妹菜单/页面条目

Hugo提供了一种 灵活的方式 来处理您的页面的订单。

最简单的方法是设置weight参数到一个数字。

+++
title = "My page"
weight = 5
+++

为菜单条目使用自定义标题

默认情况下,Relearn主题将对菜单项使用页面的title属性(或linkTitle如果定义了)。

但页面的标题必须是描述性的,而菜单是层次结构。我们已经添加了menuTitle用于该目的的参数:

例如(对于一个名为content/install/linux.md):

+++
title = "Install on Linux"
menuTitle = "Linux"
+++

覆盖菜单条目的展开状态规则

您可以更改主题如何展开内容一侧的菜单条目alwaysopen按每页设置。如果alwaysopen=false对于任何给定的条目,只要不需要为了导航,其子项就不会显示在菜单中。

该主题根据以下规则生成菜单:

  • 无论设置如何,都会显示活动页面的所有父条目,包括他们的兄弟姐妹
  • 无论设置如何,都会显示活动页面的直接子项
  • 如果没有被覆盖,所有其他一级条目的行为就像它们被赋予的一样alwaysopen=false
  • 如果没有被覆盖,除了第一个级别之外,所有其他级别的条目都表现得像它们会被给予一样alwaysopen=true
  • 所有可见的条目都会显示其直接子项,如果alwaysopen=true;这是递归进行的
  • 所有剩余的条目都没有显示

禁用部分页面

您可能想以分层次的方式构建页面,但不想为这些部分生成页面?这个主题让你明白了。

保留最初的例子:假设你想要level-one出现在侧边栏中,但不想为它生成页面。因此,边栏中的条目不应可点击,而应显示展开器。

为此,打开content/level-one/_index.md并添加以下frontmatter

collapsibleMenu = true # 这会将扩展器添加到菜单项中(如果尚未 hugo.toml 在中设置) 
[_build]
  render = "never" # 不会生成任何页面,因此该页面没有url

页面组织

Hugo中,页面是您网站的核心。一旦配置好,页面绝对是文档网站的附加值.

文件夹

像任何其他 HUGO 项目一样组织您的网站. 通常,您将有一个包含所有页面的内容文件夹。

content
├── level-one
│   ├── level-two
│   │   ├── level-three
│   │   │   ├── level-four
│   │   │   │   ├── _index.md       <-- /level-one/level-two/level-three/level-four
│   │   │   │   ├── page-4-a.md     <-- /level-one/level-two/level-three/level-four/page-4-a
│   │   │   │   ├── page-4-b.md     <-- /level-one/level-two/level-three/level-four/page-4-b
│   │   │   │   └── page-4-c.md     <-- /level-one/level-two/level-three/level-four/page-4-c
│   │   │   ├── _index.md           <-- /level-one/level-two/level-three
│   │   │   ├── page-3-a.md         <-- /level-one/level-two/level-three/page-3-a
│   │   │   ├── page-3-b.md         <-- /level-one/level-two/level-three/page-3-b
│   │   │   └── page-3-c.md         <-- /level-one/level-two/level-three/page-3-c
│   │   ├── _index.md               <-- /level-one/level-two
│   │   ├── page-2-a.md             <-- /level-one/level-two/page-2-a
│   │   ├── page-2-b.md             <-- /level-one/level-two/page-2-b
│   │   └── page-2-c.md             <-- /level-one/level-two/page-2-c
│   ├── _index.md                   <-- /level-one
│   ├── page-1-a.md                 <-- /level-one/page-1-a
│   ├── page-1-b.md                 <-- /level-one/page-1-b
│   └── page-1-c.md                 <-- /level-one/page-1-c
├── _index.md                       <-- /
└── page-top.md                     <-- /page-top
注释

_index.md 每个文件夹中都需要,这是您的“文件夹主页””

创建您的项目

以下步骤可帮助您初始化新网站。如果您根本不了解雨果,我们强烈建议您通过遵循。 适合初学者的优秀文档进行培训.

Hugo 提供了创建新网站new命令。

hugo new site <new_project>

Win系统

Windos操作系统的各种使用小技巧

Win系统 的子部分

共享键鼠

DPT888.png DPT888.png

满足需求

如果你希望仅用一套键鼠控制两台及以上的电脑,那么这款免费开源的工具Barrier你一定不能错过!可以在Windows、macOS和Linux之间共享同一套鼠标和键盘,不仅让你摆脱在不同键鼠间反复切换的烦恼,还能省下一笔外设钱。

使用场景

以我为例,我需要在一台台式机和一台Mac笔记本电脑之间共享键鼠,两者都连接了同一Wifi网络,键盘是以前闲置的苹果妙控无线键盘,鼠标是路边捡的有线鼠标。键鼠都连在台式机上。即,我的目标是通过Barrier将台式机配置成服务端,Mac笔记本电脑配置成客户端。

下载安装

** 点我这里下载 Barrier安装包 ,分别有win系统和Mac系统的** 项目地址:https://github.com/debauchee/barrier

配置Barrier

Barrier是通过服务端和客户端的形式来管理共享键鼠的。你的键鼠连接的电脑就是服务端Server,需要共享使用它的键鼠的就是客户端Client。

在软件运行界面配置服务端 右上角进入更改设置 取消勾选开启SSL 重新启动服务

1.png 1.png

端口IP设置

2.png 2.png

置Barrier服务端与客户端的屏幕布局

3.png 3.png

使用感受

  1. 键鼠基本实现了无缝对接切换,速度很快。
  2. 可以实现跨设备文字复制粘贴。图片测试没有成功。

Mac技巧

2019款16寸Mac Book Pro 显卡更新教程

一:官网下载驱动

  1. 根据mac的显卡分类选择驱动
  2. 查看驱动下载位置
  3. 检查当前已安装驱动
  4. 下载第三方显卡驱动,www.bootcampdrivers.com 红色游戏,蓝色专业

二:卸载驱动

  1. 进入安全模式,win+R输入msconfig,勾选最下面;有选择的 启动 → 引导 → 安全引导 → 确定 → 重启
  2. 使用DDU彻底卸载当前驱动 DDU软件在第三方驱动目录里面;两次仅清除,一次清除并重启
  3. 退出安全模式 win+R 输入msconfig,选择引导,取消安全引导,确定,重启

三:安装驱动

  1. 安装官方驱动,打开官方驱动下载目录,双击Setup.exe,等待安装,点完成;不重启
  2. 通过设备管理器更新官方驱动为第三方驱动 打开设置 →系统 → 关于 → 设备管理器 → 显示适配器 → 更新驱动程序 → 浏览驱动程序 → 浏览以查找驱动程序 → 勾选包括子文件夹 → 完成重启
  3. 安装第三方Radeon Software 打开第三方驱动下载目录,双击Setup.exe,附加选项点开禁止勾选恢复出厂设置 不然就要重头再来一次! Full lnstsll , Min lnstsll或者Driver Only,使用推荐Full lnstsll,等待安装完成
  4. 检查更新后的驱动 鼠标右键,或者状态栏下面会显示显卡图标打开设置,游戏下一步 安装完成

PyCharm专业版激活

前期准备下载工具»PyCharm 23.3.2 & 激活工具 & 激活码

最新图文教程:2023.3.2 IDEA激活破解教程

一:下载安装pycharm

  • 先去官网下载,我这里下载的是最新版本的2023.3.2,测试过2023最新版本以及2022版本以上的版本都没问题。

pyc1.png pyc1.png

二:然后打开;提示要输入激活码,先关闭应用,等下再打开

pyc2.png pyc2.png

三:下载激活工具

  • 打开下载好的激活包(下载后记得不要删除和移动,然后安装的路径尽量不要带中文路径、删掉就会失效的)
  • windows系统的样子

pyc3.png pyc3.png

  • Mac系统的样子

pyc4.png pyc4.png

  • 打开scripts.文件夹

pyc5.png pyc5.png

四:windows系统的pycharm激活

  • 先执行uninstall–all-users.vbs,直接双击打开,此步骤是为了防止之前有过激活信息,确保当前环境变量下没有激活工具的变量信息,可先执行卸载脚本在再进行后面的激活操作,避免激活失败。

pyc6.png pyc6.png

  • 然后再执行 install-current-user.vbs 直接双击打开即可

pyc7.png pyc7.png

  • 这里需要等待10秒左右才会出现Done弹框;才是成功;然后再打开pycharm输入激活码即可

五:Mac系统的pycharm激活

  • 先打开终端

  • 直接将 uninstall.sh 拖到终端 ;出现Done说明成功;此步骤是一键帮你去掉以前所激活过留下的东西;解决 key is invalid的问题;防止激活失败

  • 接着将 install.sh 拖到终端;与上面同理;出现 Donethe kill xxxx 说明成功

pyc08.png pyc08.png

  • sh xxxx 运行下 .sh文件(记得sh后面加上空格)

  • 重新打开 pycharm ;输入激活码即可

六:激活演示

  1. 输入激活码
  • Licensed 即表示激活成功;点击 continue 关掉窗口就好了

pyc09.png pyc09.png

  • 成功激活演示

pyc010.png pyc010.png

2:出现 key is invalid (密钥无效)

  • 请先重启下Pycharm,再输入激活码,如仍未解决,清参考下面的全家桶激活错误指导或者加最下方技术微信,帮你处理

pyc011.png pyc011.png

激活失败参考:全家桶激活错误指导

错误一:你没有解压文件夹就直接点了执行

pyc012.png pyc012.png

错误二:key is invalid

pyc013.png pyc013.png

  • 激活工具未下载或者没有配置,返回查看教程,激活码无法单独使用,必须配合激活工具一起使用

  • 激活工具的路径配置有误,请核对

  • 配置完激活工具,未重启IDE开发工具,正常是不用的,避免你在配置的时候就打开了IDE,最好还是重启下,如果工具已经启动,配置完插件之后,请务必重启一下工具再使用激活码

  • 登录了账号,如果你登录了自己未授权订阅的账号,请退出,重新激活

  • 受到其他激活工具的影响,jetbrāins是允许安装多版本的,如果你有安装其他版本的其他激活工具,可能会互相干扰,请核对

  • 重启电脑,极少部分电脑重启工具也不会生效插件,必须重启电脑,可以尝试

  • 如果重启电脑后还不行,Windows电脑执行uninstall-all-users.vbs,然后再执行install-al-users.vbs,成功后,再次激活尝试,还不行就再重启一次电脑

  • 如果是idea,pycharm出现,一般需要重启下电脑,然后重新激活即可,如果不行,请参考解决方案-1

  • Mac系统请卸载掉其他版本,参考解决方案-2,或者参考终极解决方案

错误三:打不开应用,双击没反应

  • 为什么打不开?因为你配置的激活工具路径不对,肯定是你删除或者移动了激活工具

  • 安装完后,激活工具不要修改,不要移动,不要删除,如果有删除,清重新下我和激活

  • 之前装过其他的激活工具,没有删除干净环境变量和相关缓存,请参考解决方案一和二

解决方案一:删除注册表与缓存

如果激活失败,请确保是否安装过一些vb脚本,这个会影响jr包的加载,请务必先删除缓存并将软件卸载干净,重新激活,删除方式清参考:

  • 删除本地缓存

删除用户目录下的jetbrainss缓存,一般在AppData目录下,如图所示

pyc014.png pyc014.png

  • 删除注册表信息

Win+R输入regedit,打开注册表,删除如下目录jetbrains文件夹

计算机\HKEY_CURRENT_USER\SOFTWARE JavaSoft\Prefs\jetbrains

pyc015.png pyc015.png

  • 删除历史环境变量

请打开你下载的激活工具 windows系统,双击打开执行下uninsta-al-users.Vbs

pyc016.png pyc016.png

解决方案二:使用卸载脚本,清理掉历史其他渠道的激活工具

  • Win系统下双击执行即可

Win版卸载脚本

  • Mac & Linux 系统下载解压,打开终端拖入,执行即可

Mac版卸载脚本

终极解决方案(适用全部操作系统)

  • 以上步骤操作后还出现 key is invalid,则点击 start trial 先登录->试用,手动配置 jar 包的路径即可:

pyc017.png pyc017.png

  • Win系统示例: javaagent:D:\jihuo.live jihuo-tool\ja-netfilter.jar=jetbrains

  • Mac & Linux 系统示例: javaagent:/Applications/IntelliIDEA.app/Contents/bin/ja-netfilter.jar=jetbrains

==上面这个路径是你电脑的 ja-netfilter.jar 的路径 ==

提示

最后还搞不定,联系我,远程帮你搞定

第2章

免费工具

免费工具集合

这里有大量的免费开源工具推荐

免费工具 的子部分

免费工具合集

1. LKY Office Tools

一款免费开源的office软件一键免费部署工具,自动化 下载、安装、激活 Office 的利器!绿色、开源、安全、无毒

【Github开源项目】

2. VLC视频播放器

目前最强的全功能视频播放软件,支持全平台!无需安装任何解码包,市面上几乎所有视频格式它都可以完美流畅播放! 最关键是完全免费开源,无广告无捆绑,用它来播放直播源也没有任何问题

【官方下载】

  1. 下载神器 IDM

目前最强的多线程下载工具,下载速度非常快,网上有开心版,当然有能力的建议支持正版

【开心版】【正版购买】

  1. BT种子下载神器

这是海外用户首选的BT种子下载工具,不仅速度快支持自定义反吸血,界面也非常好看;

【官方下载】

  1. BC Uninstaller

相较于极客卸载,这款卸载软件是真正意义上的,免费开源。支持静默卸载,批量卸载 而且对流氓软件的卸载会更加干净!

【官方下载】

  1. Powertoys 一款由微软官方出品的多功能工具包

【点击下载】

  1. everything 目前Windows 系统上最强的资源搜索神器,速度超级的快,真正可以做到一秒搜索,完全可以秒杀系统内置的搜索功能

【点击下载】

  1. Brave

老司机必备的浏览器,让你真正意义上实现无广告无打扰,当然无法完全代替Chrome浏览器

【官网下载】

  1. 压缩软件

7-zip一款拥有极高压缩比的免费开源软件,虽然外表丑了点,但是人不可貌相 不管是支持的压缩格式,还是压缩速度,它都可以吊打各方神仙!

【官方下载】

  1. MyComputerManager

管理此电脑,删除流氓“快捷方式”

【开源下载】

11.KeyFreeze 是一款免费的 Windows 应用程序,可以阻止您的键盘和鼠标而不“锁定”屏幕。因此,您的孩子可以安全地观看动画片或与祖父母进行视频聊天,并随心所欲地敲击键盘。 【点击下载】

  1. 完全免费的PDF 阅读、编辑、转换、合并和跨设备签署PDF文件,且无需注册

【点击下载】

  1. 微软电脑管家海外版:【前往下载】
  2. Duplicates Cleaner 去重:【点击下载】
  3. Adobe Photoshop Express:【点击下载】
  4. Braver、火狐浏览器:【Brave】【火狐】
  5. SomaFM 无广告音乐平台:【点击下载】
  6. Mouse Pointer Highlight 鼠标高亮:【点击下载】
  7. 最强的免费开源截图软件 Snipaste :【点击下载】
第3章

资源网站

免费资源网站集合

这里有大量的免费资源网站推荐

资源网站 的子部分

资源网站合集

免费资源网站合集

  1. Windows/Office 的 KMS 一键生成脚本 【链接

  2. Audiohub是一个提供免版税音乐的国外网站 【官网

  3. 免费AI图片、视频制作网站 【官网

  4. 免费SSL证书一键生成【链接

  5. NVIDIA NGC 免费生成图片 【链接】 【生成参数“提示词”

  6. 免费实用的文档 、图片、 视频转换网站 【链接

  7. 全球护照照片参数和自动剪辑 【网站

  8. AlternativeTo 收费软件替代品网站 【网站