創建內容,獲取高度優化的網站
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添加。