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