成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Pelican入門:一個(gè)Python靜態(tài)網(wǎng)站生成器

開發(fā) 后端
如果你想創(chuàng)建一個(gè)自定義網(wǎng)站或博客,有很多選擇。許多提供商可以托管你的網(wǎng)站并為你完成大部分工作。但是使用托管方式,你會(huì)失去一些靈活性。作為一名軟件開發(fā)人員,我更喜歡管理我自己的服務(wù)器,并在我的網(wǎng)站如何運(yùn)行方面保持更多的自由。

    [[256276]]

Pelican 是那些想要自我托管簡單網(wǎng)站或博客的 Python 用戶的***選擇。

如果你想創(chuàng)建一個(gè)自定義網(wǎng)站或博客,有很多選擇。許多提供商可以托管你的網(wǎng)站并為你完成大部分工作。(WordPress 是一個(gè)非常受歡迎的選項(xiàng)。)但是使用托管方式,你會(huì)失去一些靈活性。作為一名軟件開發(fā)人員,我更喜歡管理我自己的服務(wù)器,并在我的網(wǎng)站如何運(yùn)行方面保持更多的自由。

然而,管理 Web 服務(wù)器需要大量的工作。安裝它并獲得一個(gè)簡單的應(yīng)用程序來提供內(nèi)容是非常容易的。但是,維護(hù)安全補(bǔ)丁和更新是非常耗時(shí)得。如果你只想提供靜態(tài)網(wǎng)頁,那么擁有一個(gè) Web 服務(wù)器和一系列應(yīng)用程序可能會(huì)得不償失。手動(dòng)創(chuàng)建 HTML 頁面也不是一個(gè)好選擇。

這是靜態(tài)網(wǎng)站生成器的用武之地。這些應(yīng)用程序使用模板來創(chuàng)建所需的靜態(tài)頁面,并將它們與關(guān)聯(lián)的元數(shù)據(jù)交叉鏈接。(例如,所有顯示的頁面都帶有公共標(biāo)簽或關(guān)鍵詞。)靜態(tài)網(wǎng)站生成器可以幫助你使用導(dǎo)航區(qū)域、頁眉和頁腳等元素創(chuàng)建一個(gè)具有公共外觀的網(wǎng)站。

我使用 Pyhton 已經(jīng)很多年了,所以,當(dāng)我***次開始尋找生成靜態(tài) HTML 頁面的東西時(shí),我想要用 Python 編寫的東西。主要原因是我經(jīng)常想要了解應(yīng)用程序如何工作的內(nèi)部細(xì)節(jié),而使用一種我已經(jīng)了解的語言使這一點(diǎn)更容易。(如果這對(duì)你不重要或者你不使用 Python,那么還有一些其他很棒的靜態(tài)網(wǎng)站生成器,它們使用 Ruby、JavaScript 和其它語言。)

我決定試試 Pelican。它是一個(gè)用 Python 編寫的常用靜態(tài)網(wǎng)站生成器。它支持 reStructuredText(LCTT 譯注:這是一種用于文本數(shù)據(jù)的文件格式,主要用于 Python 社區(qū)的技術(shù)文檔),并且也支持 Markdown,這需要通過安裝必需的包來完成。所有任務(wù)都是通過命令行界面(CLI)工具執(zhí)行的,這使得熟悉命令行的任何人都可以輕松完成。它簡單的 quickstart CLI 工具使得創(chuàng)建一個(gè)網(wǎng)站非常容易。

在本文中,我將介紹如何安裝 Pelican 4,添加一篇文章以及更改默認(rèn)主題。(注意:我是在 MacOS 上開發(fā)的,使用其它 Unix/Linux 實(shí)驗(yàn)結(jié)果都將相同,但我沒有 Windows 主機(jī)可以測試。)

安裝和配置

***步是創(chuàng)建一個(gè)虛擬環(huán)境,在虛擬環(huán)境中安裝 Pelican。

  1. $ mkdir test-site
  2. $ cd test-site
  3. $ python3 -m venv venv
  4. $ ./venv/bin/pip install --upgrade pip
  5. ...
  6. Successfully installed pip-18.1
  7. $ ./venv/bin/pip install pelican
  8. Collecting pelican
  9. ...
  10. Successfully installed MarkupSafe-1.1.0 blinker-1.4 docutils-0.14 feedgenerator-1.9 jinja2-2.10 pelican-4.0.1 pygments-2.3.1 python-dateutil-2.7.5 pytz-2018.7 six-1.12.0 unidecode-1.0.23

Pelican 的 quickstart CLI 工具將創(chuàng)建基本布局和一些文件來幫助你開始,運(yùn)行 pelican-quickstart 命令。為了簡單起見,我輸入了網(wǎng)站標(biāo)題作者的名字,并對(duì) URL 前綴和文章分頁選擇了 “N”。(對(duì)于其它選項(xiàng),我使用了默認(rèn)值。)稍后在配置文件中更改這些設(shè)置非常容易。

  1. $ ./venv/bin/pelicanquickstart
  2. Welcome to pelicanquickstart v4.0.1.
  3.  
  4. This script will help you create a new Pelican-based website.
  5.  
  6. Please answer the following questions so this script can generate the files needed by Pelican.
  7.  
  8. > Where do you want to create your new web site? [.]
  9. > What will be the title of this web site? My Test Blog
  10. > Who will be the author of this web site? Craig
  11. > What will be the default language of this web site? [en]
  12. > Do you want to specify a URL prefix? e.g., https://example.com (Y/n) n
  13. > Do you want to enable article pagination? (Y/n) n
  14. > What is your time zone? [Europe/Paris]
  15. > Do you want to generate a tasks.py/Makefile to automate generation and publishing? (Y/n)
  16. > Do you want to upload your website using FTP? (y/N)
  17. > Do you want to upload your website using SSH? (y/N)
  18. > Do you want to upload your website using Dropbox? (y/N)
  19. > Do you want to upload your website using S3? (y/N)
  20. > Do you want to upload your website using Rackspace Cloud Files? (y/N)
  21. > Do you want to upload your website using GitHub Pages? (y/N)
  22. Done. Your new project is available at /Users/craig/tmp/pelican/test-site

你需要啟動(dòng)的所有文件都準(zhǔn)備好了。

quickstart 默認(rèn)為歐洲/巴黎時(shí)區(qū),所以在繼續(xù)之前更改一下。在你喜歡的文本編輯器中打開 pelicanconf.py 文件,尋找 TIMEZONE 變量。

  1. TIMEZONE = 'Europe/Paris'

將其改為 UTC

  1. TIMEZONE = 'UTC'

要更新公共設(shè)置,在 pelicanconf.py 中查找 SOCIAL 變量。

  1. SOCIAL = (('You can add links in your config file', '#'),
  2.           ('Another social link', '#'),)

我將添加一個(gè)我的 Twitter 賬戶鏈接。

  1. SOCIAL = (('Twitter (#craigs55)', 'https://twitter.com/craigs55'),)

注意末尾的逗號(hào),它很重要。這個(gè)逗號(hào)將幫助 Python 識(shí)別變量實(shí)際上是一個(gè)集合。確保你沒有刪除這個(gè)逗號(hào)。

現(xiàn)在你已經(jīng)有了網(wǎng)站的基本知識(shí)。quickstart 創(chuàng)建了一個(gè)包含許多目標(biāo)的 Makefile。將 devserver 傳給 make 命令將在你的計(jì)算機(jī)上啟動(dòng)一個(gè)開發(fā)服務(wù)器,以便你可以預(yù)覽所有內(nèi)容。Makefile 中使用的 CLI 命令假定放在 PATH 搜索路徑中,因此你需要首先激活該虛擬環(huán)境。

  1. $ source ./venv/bin/activate
  2. $ make devserver
  3. pelican -lr /Users/craig/tmp/pelican/test-site/content o
  4. /Users/craig/tmp/pelican/test-site/output -s /Users/craig/tmp/pelican/test-site/pelicanconf.py
  5.  
  6. -> Modified: theme, settings. regenerating...
  7. WARNING: No valid files found in content for the active readers:
  8.    | BaseReader (static)
  9.    | HTMLReader (htm, html)
  10.    | RstReader (rst)
  11. Done: Processed 0 articles, 0 drafts, 0 pages, 0 hidden pages and 0 draft pages in 0.18 seconds.

在你最喜歡的瀏覽器中打開 http://localhost:8000 來查看你的簡單測試博客。

你可以在右側(cè)看到 Twitter 鏈接,左側(cè)有 Pelican、Python 和 Jinja 的一些鏈接。(Jinja 是 Pelican 可以使用的一種很棒的模板語言。你可以在 Jinja 的文檔中了解更多相關(guān)信息。)

添加內(nèi)容

現(xiàn)在你又了一個(gè)基本的網(wǎng)站,試著添加一些內(nèi)容。首先,將名為 welcome.rst 的文件添加到網(wǎng)站的 content 目錄中。在你喜歡的文本編輯器中,使用以下文本創(chuàng)建一個(gè)文件:

  1. $ pwd
  2. /Users/craig/tmp/pelican/test-site
  3. $ cat content/welcome.rst
  4.  
  5. Welcome to my blog!
  6. ###################
  7.  
  8. :date: 20181216 08:30
  9. :tags: welcome
  10. :category: Intro
  11. :slug: welcome
  12. :author: Craig
  13. :summary: Welcome document
  14.  
  15. Welcome to my blog.
  16. This is a short page just to show how to put up a static page.

Pelican 會(huì)自動(dòng)解析元數(shù)據(jù)行,包括日期、標(biāo)簽等。

編寫完文件后,開發(fā)服務(wù)器應(yīng)該輸出以下內(nèi)容:

  1. -> Modified: content. regenerating...
  2. Done: Processed 1 article, 0 drafts, 0 pages, 0 hidden pages and 0 draft pages in 0.10 seconds.

在瀏覽器中刷新你的測試網(wǎng)站來查看更改。

元數(shù)據(jù)(例如日期和標(biāo)簽)會(huì)自動(dòng)添加到頁面中。此外,Pelican 會(huì)自動(dòng)檢測到 intro 欄目,并將該部分添加到頂部導(dǎo)航中。

更改主題

使用像 Pelican 這樣流行的開源軟件的好處之一是,非常多的用戶會(huì)做出更改并將其貢獻(xiàn)給項(xiàng)目。許多都是以主題形式貢獻(xiàn)的。

網(wǎng)站的主題會(huì)設(shè)置顏色、布局選項(xiàng)等。嘗試一個(gè)新主題非常容易,你可以在 Pelican 主題中預(yù)覽其中的許多內(nèi)容。

首先,克隆 GitHub 倉庫:

  1. $ cd ..
  2. $ git clone --recursive https://github.com/getpelican/pelicanthemes
  3. Cloning into 'pelicanthemes'...

我喜歡藍(lán)色,那么試試 blueidea

編輯 pelicanconf.py,添加以下行:

  1. THEME = '/Users/craig/tmp/pelican/pelican-themes/blueidea/'

開發(fā)服務(wù)器將重新生成你的輸出。在瀏覽器中刷新網(wǎng)頁來查看新主題。

主題控制布局的方方面面。例如,在默認(rèn)主題中,你可以看到文章旁邊帶有元標(biāo)記的欄目(Intro),但這個(gè)欄目并未顯示在 blueidea 主題中。

其他考慮因素

本文是對(duì) Pelican 的快速介紹,所以我并沒有涉及一些重要的主題。

首先,我對(duì)遷移到靜態(tài)站點(diǎn)猶豫不決的一個(gè)原因是它無法對(duì)文章評(píng)論。幸運(yùn)的是,有一些第三方服務(wù)商將為你提供評(píng)論功能。我目前正在關(guān)注的是 Disqus

接下來,上面的所有內(nèi)容都是在我的本地機(jī)器上完成的。如果我希望其他人查看我的網(wǎng)站,我將不得不將預(yù)先生成的 HTML 文件上傳到某個(gè)地方。如果你查看 pelican-quickstart 輸出,你將看到使用 FTP、 SSH、S3 甚至 GitHub 頁面的選項(xiàng),每個(gè)選項(xiàng)都有其優(yōu)點(diǎn)和缺點(diǎn)。但是,如果我必須選擇一個(gè),那么我可能會(huì)選擇發(fā)布到 GitHub 頁面。

Pelican 還有許多其他功能,我每天都在學(xué)習(xí)它。如果你想自托管一個(gè)網(wǎng)站或博客,內(nèi)容簡單并且是靜態(tài)內(nèi)容,同時(shí)你想使用 Python,那么 Pelican 是一個(gè)很好的選擇。它有一個(gè)活躍的用戶社區(qū),可以修復(fù) bug,添加特性,而且還會(huì)創(chuàng)建新的和有趣的主題。試試看吧!

 【編輯推薦】

 

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2023-02-07 16:11:41

2018-11-19 10:10:51

Python數(shù)據(jù)庫隨機(jī)生成器

2023-03-08 09:06:24

2020-09-08 11:21:48

SQL生成器跨庫

2020-10-05 21:57:43

Python生成器可迭代對(duì)象

2024-08-19 00:00:00

表單生成器開發(fā)開源

2022-06-17 11:04:46

生成器計(jì)算

2024-10-07 08:52:59

分布式系統(tǒng)分布式 IDID

2024-06-12 13:40:58

2024-12-09 00:00:03

Vue3項(xiàng)目表單

2022-07-25 10:27:36

背景生成器工具前端

2017-09-06 09:26:03

Python生成器協(xié)程

2021-12-04 22:07:44

Python

2023-10-27 09:40:52

VitePressGatsby

2022-08-28 19:10:37

JavaScript二維碼源碼

2020-12-09 08:34:24

css生成器設(shè)計(jì)師

2020-12-20 10:04:44

Qrcode二維碼生成器QR Code

2017-05-18 10:00:40

Linuxpandom隨機(jī)數(shù)生成器

2021-06-24 06:00:51

EleventyJavaScript靜態(tài)網(wǎng)站

2023-01-26 10:55:55

生成器Astro靜態(tài)站點(diǎn)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 99精品一区二区 | 日韩欧美在线一区 | xnxx 日本免费| 日韩二区三区 | 九九热这里只有精品在线观看 | 国产羞羞视频在线观看 | 日本不卡免费新一二三区 | 精品一二三区在线观看 | 精精国产xxxx视频在线 | 国产一区二区在线免费观看 | 欧美一区二区在线观看 | 在线看成人av | 国产精品视频网 | 一级黄色淫片 | 精品一区二区三区在线视频 | 精品视频一区二区三区 | 国产精品美女久久久久aⅴ国产馆 | 一级欧美一级日韩片免费观看 | 国产欧美日韩一区二区三区在线观看 | 精品网 | 毛片免费观看 | 欧美国产日韩在线观看 | 亚洲一区精品在线 | 国产亚洲精品精品国产亚洲综合 | 毛片免费在线 | 日本公妇乱淫xxxⅹ 国产在线不卡 | 久久久妇女国产精品影视 | 亚洲在线视频 | 视频三区 | 国产伦精品| 久久久久久99 | 五月激情六月婷婷 | www.玖玖玖 | 成人免费视频网站在线观看 | 精品国产精品国产偷麻豆 | 亚洲精品电影网在线观看 | 视频在线一区二区 | 亚洲精品视频免费观看 | 国产精品欧美日韩 | 91av在线影院 | 日本成人一区二区 |