创建内容,获取高度优化的网站
css
Prop和css
模板标签在MDX中应用CSS使用简单命令使用NPM或纱线安装它
yarn add contentz
# npm install contentz
安装Contentz后,您可以将其与简单命令一起使用。
contentz build
这将读取您的文件并为您生成您的网站。
创建一个称为config.yml
的配置文件
---
title : Sergio Xalambrí
description : Senior Software Engineer and Technical Writer
domain : https://sergiodxa.com
language : en
repository : https://github.com/sergiodxa/personal-site/
email : [email protected]
patreon : sergiodxa
analytics : UA-XXXXXXXXX-2
social :
twitter : sergiodxa
github : sergiodxa
npm : sergiodxa
linkedin : sergiodxa
dev : sergiodxa
meetup : 182915204
navigation :
- name : About
path : /about
- name : Services
path : /services
选项 | 描述 | 必需的 |
---|---|---|
标题 | 该网站的标题,在<title> 和首页中使用 | 否(默认: Just another Contentz site ) |
描述 | 网站的描述,在<meta> 和主页中使用 | 否(默认:空描述) |
领域 | 您将用来托管网站的域,在RSS feed中使用 | 是的 |
语言 | 网站的主要语言,用作文章和页面的后备 | 否(默认:en) |
存储库 | 托管该网站的GitHub存储库,用于文章和页面的页脚 | 否(默认:隐藏链接到编辑) |
电子邮件 | 您的电子邮件地址,在主页中的电子邮件图标上使用 | 否(默认:隐藏图标) |
Patreon | 您的patreon用户名,用于主页和页脚 | 否(默认:Hiden Patreon消息) |
分析 | 您的分析ua | 否(默认:隐藏分析) |
社会的 | 您的社交网络列表,用于在主页上链接它们 | 否(默认:隐藏社交图标) |
导航 | 标题中链接的页面列表 | 否(默认:不要添加额外的链接) |
SW | 如果您想禁用SW生成,将其设置为false | 否(默认:true) |
增量 | 如果要禁用增量构建,将其设置为false | 否(默认:true) |
图标 | 设置网站Favicon的道路 | no(默认: /static/favicon.png ) |
对于其他社交网络,请发送带有新图标的PR,并添加一种格式化该图标URL的方法。
创建一个文件夹/articles
,然后将.mdx
文件放在此处,这是一个示例帖子。
---
title : My super cool article
description : This is the description of the article
date : 2018-01-01T00:00:00.000Z
published : true
---
This is my content, here I could use markdown or import a component and render it.
现在运行contentz
,它将使用您的主页,存档页面和文章创建一个/public
目录。您可以在/articles/
和每篇文章中访问您的存档,并访问/articles/:article/
,在示例中,您可以在/articles/my-super-cool-article
中看到它。
对于自定义页面,请创建A /pages
文件夹,然后将.mdx
文件放在此处,这是一个示例页面。
---
title : About me
---
Hi! I'm an example page.
现在运行contentz
,它将使用您的主页和页面创建一个/public
目录。每个页面都将位于public
的基本级别,这意味着您的/pages/about.mdx
可以在浏览器而不是/pages/about
/about/
/of /of。
如果您想拥有一个页面来共享有趣的链接,则可以在项目根部创建一个link.yml
文件。然后运行contentz
,并使用所有链接的列表自动为您生成A /link/
页面。每个链接应具有url
, title
, comment
和date
密钥。示例文件:
---
- url : https://sergiodxa.com/
title : Sergio Xalambrí
comment : The website of the creator of Contentz
date : 2019-01-28T19:44:10.945Z
- url : https://sergiodxa.dev/
title : sergiodxa.dev
comment : The alias of the website of the creator of Contentz
date : 2019-01-28T19:44:10.945Z
contentz将在/404.html
上自动生成一个错误页面,当部署时,您可以将页面重定向到/404.html
。
如果您部署以netlify,它将自动拾取该文件。
Contentz会自动为您生成SW,此SW将在您自己的网站(使用location.origin
)中缓存每个请求。它不会缓存到另一个域。
可以禁用此行为,添加sw: false
config.yml
文件。添加此功能还将删除de sw.js
和load-sw.js
以避免访问对该的访问并创建unload-sw.js
文件。
Contentz将在您的文章列表中自动生成有效的RSS Atom feed,将其放置在/atom.xml
中,并且将在每个页面中自动添加<meta>
标签,以使其可发现。
如果要链接到静态文件,例如图像,视频等。创建A /static
文件夹并将所有文件放在此处。运行content
时,它们将自动复制到/public/static
如果您想直接在MDX内容中添加带有自定义样式的HTML标签,则可以使用css
Prop和CSS Emotion的css
模板标签。
例子:
< div css = { { color : "red" } } > This is red </ div >
< div css = { css `color: blue` } > This is blue < / div>
Contentz将检测哪些文件更改,仅更新相关文件。这意味着如果您仅添加新的链接/link/
将被重新生成,但是如果您更改文章,则将重新生成文章页面,文章和RSS提要的列表。
如果您更新配置或更新Contentz版本,则所有页面将被重新生成。
如果您想选择此功能集的incremental: false
config.yml
中的false:false。这将自动使以前的缓存无效,并始终生成所有页面。
Contentz还可以自动生成社交图像(又称打开图),供您在文章和页面中使用。使用它运行命令:
contentz social [path]
其中[path]
是用于生成社交图像的文件。它也可能是一个以上的文件,它们之间添加了一个空间。
contentz social [path1] [path2]
路径可能是文章,帖子或自动生成的页面之一的路径。
如果您想生成它们最初运行
contentz social home articles links error
生成社交图像后,您将看到一个带有图像的文件夹/static/_social
,将页面放置在/static/_social/pages
and and in /static/_social/article
中,特殊页面将位于_social
的根源。
contentz从开箱即用的i18n支持网站的固定文本,诸如patreon支持或在github上编辑之类的文本。要更改网站的主要语言lang
将关键language
设置为语言代码。
支持的语言是西班牙语的es
,而英语则是en
(如果使用无效的语言代码,则默认为英语)。
如果不支持您的语言,请添加带有消息的JSON并将其加载到I18N LIB中。然后发送PR添加。