放棄cms並考慮靜態站點生成器的7個原因

多年來,釋出一個網站對許多使用者來說是困難的。像WordPress這樣的CMS改變了這一點,但它們仍然可能令人困惑。另一種選擇是靜態站點生成器。...

許多年來,發佈一個網站是許多用戶無法企及的。HTML創作、託管帳戶和管理託管文件的更新對於一般的非技術人員來說太多了。現在,用戶可以註冊Tumblr帳戶,並在幾分鐘內輸入他們的第一篇文章。

jekyll-website-builder-featured

隨著用戶變得越來越成熟,像WordPress這樣的博客平臺為他們的內容提供了所有權。但是WordPress和它的同行們仍然有許多活動部件。對於一個只想寫博客卻仍然擁有它的人來說,這是一種過度的殺傷力。最近的答案是靜態站點生成器(SSG)。讓我們來探討一下為什麼您可能希望在下一個在線項目中考慮一個。

什麼是靜態站點生成器(a static site generator)?

Web上的第一個頁面就是這樣的:有人編寫為HTML文件並上傳到服務器的單個頁面。現代的CMS(contentmanagementsystem)將內容呈現為一個頁面,而實際上它將標記、數據庫內容和實時計算混為一談。它們是幫助用戶創建內容、存儲內容,然後提供給網站訪問者的web應用程序。

相反,靜態站點生成器是發佈工具。它們與Adobe Acrobat等工具沒有什麼不同,它採用可編輯格式(例如Microsoft Word),並將其轉換為易於使用的格式(.PDF)。在這種情況下,SSG正在執行以下基本任務:

  1. 以某種基本內容作為輸入;
  2. 從中創建好看的web內容,以及;
  3. 幫助將這些內容實時推送到網絡上。

在下一節中,我們將研究SSGs的“靜態”特性相對於今天的cms提供的一些優勢。

使用靜態站點生成器的優點

對於那些曾經在CMS中工作的人,比如WordPress,下面的一些看起來是一個很大的改變。但是,它們使一些類型的網站的**和維護變得容易得多。讓我們看看這些優點。

下面的部分以Jekyll靜態站點生成器的命令和輸出為例。如果選擇不同的SSG,命令將不同,但概念相似。

1靜態站點不需要複雜的安裝

與“傳統”CMS相比的一個主要區別是,您正在本地計算機上安裝靜態站點生成器。例如,在Ubuntu機器上啟動並運行Jekyll就像下面的命令一樣簡單:

sudo apt-get install jekyll

然後啟動一個新項目:

jekyll new mytestsite

您將在“mytestsite”目錄中創建一個新站點,其中包含許多默認文件。注意“\u posts”目錄,它包含一個標記文件。

static site generator jekyll structure

2您可以在脫機時在站點上工作

靜態站點生成器設計用於脫機本地內容。創建新帖子不需要實時的互聯網連接。您可以起草內容,然後稍後運行“build”命令來創建將進入Web的post/頁面。如果你習慣於離線博客編輯,比如BlogDesk,那就很相似了,除了不是一次推一篇文章,而是在本地構建整個網站。

接下來,在上面提到的“\u posts”文件夾中創建內容。準備就緒後,可以通過從項目目錄執行以下命令來構建站點:

jekyll serve

這將在子文件夾中構建整個站點,如下所示:

static site generator jekyll build

完成後,您還可以使用Jekyll的內置web服務器查看此網站http://localhost:4000.

static site generator jekyll site

如果您喜歡您看到的內容,您可以簡單地將“U sites”文件夾中的所有文件上載到web主機。您的網站已準備就緒!

三。您可以以不同的格式編寫內容

此外,您還可以以比原始HTML更友好的格式創建這些帖子。Markdown是最受支持的,但是許多ssg也可以通過開箱即用或插件來接受其他ssg。Jekyll的插件包括Asciidoc、orgMode或structuredText等選項。如果您正在使用這些其他標記語言之一,則只需快速更改配置或安裝插件即可。

static site generator jekyll formats

有趣的是,大多數SSG也接受HTML作為輸入。”等等,“你是說。”我以為轉換成HTML是整件事的重點!”但考慮到這一點:SSGs不直接支持的其他格式通常可以導出為HTML。設想一個工作流,您(或其他作者)在LibreOffice中使用ODT進行創作,ODT被轉換(例如通過Pandoc)為原始HTML,然後由SSG進一步處理和設置樣式。這需要一些肘部潤滑脂,但這是完全可能的!

4你仍然可以從主題和插件中獲益

如上所述,大多數ssg還支持擴展或插件來提供額外的功能。從自動向站點添加數據(例如,基於日期的URL或相關帖子)到更多類似於CMS的功能,如用戶身份驗證或評論。DocPad SSG的一個插件甚至提供了一個管理面板!

5靜態站點速度很快

在從數據庫獲取內容和運行任何包含的代碼之間,加載一些CMS頁面可能會比較緩慢。相比之下,靜態站點已經採用瀏覽器將使用的格式。唯一的延遲是web服務器發送頁面所需的時間,以及瀏覽器呈現頁面所需的時間。但這兩件事CMS驅動的網站也必須做到。

另外,由於SSGs的輸出是普通的HTML、CSS和Javascript。幾乎所有的網絡服務器都可以毫無問題地提供這些服務(以及任何圖像)。這意味著如果您有自己的服務器(比如VPS),那麼您可以靈活地部署一個更輕的web服務器,比如lighttpd或nginx。

6靜態站點是安全的

CMS的多個移動部件,如WordPress、Drupal等,為Interwebs的惡棍打開了攻擊載體。訪問PHP文件可使攻擊者在您的站點上執行自己的代碼。一個受損的數據庫給電子商務供應商帶來了麻煩(因為他們在一個更復雜的CMS中)。

另一方面,SSGs的所有編程魔法都發生在本地機器上。因此,您最關心的是文件權限。意外地使一個文件可寫入世界將是一件“壞事”,但這也是可能發生在CMS上的事情。但是,由於靜態站點中沒有任何可執行代碼,並且不訪問數據庫內容,因此可以減少站點安全性中潛在漏洞的數量。

7靜態站點不需要實時升級

如果你曾經管理過一個網站,你就知道看到“升級可用”時會有什麼恐懼時刻管理面板中的消息。當然,您將在您的登臺環境中測試它,但是您永遠不會真正知道一個代碼修復或奇怪格式的用戶註釋是否會使它全部崩潰。

將其與靜態站點進行比較。雖然SSG工具的新版本可能會提供,但這些不會對您的實時站點產生任何影響。它將繼續蹣跚前行,忘記任何可能發生或不可能發生的升級。與此同時,你可以升級你的SSG,發佈一個新版本的站點來測試它,最後實時遷移新版本。cmse也可以做到這一點,但必須考慮數據庫回滾以及新的用戶生成的內容是否會丟失。

不適合靜態現場發電機的場地類型

並非所有站點都適合靜態站點生成器。如果你要建立一個小型的個人網站,或者像一個傳統的博客(比如日報),SSGs的簡單性可能適合你。基本上,如果您正在尋找將文本和圖形內容單向發佈到web的方法,靜態站點是一個不錯的選擇。

但大多數現代網站並不是美化的在線期刊。如果您的站點現在或將來需要以下任何一項,您應該考慮靜態站點生成器附帶的注意事項。

  • 註冊用戶——如果您的站點必須允許用戶註冊,例如接收新聞稿,請仔細查看哪些插件可用,以及它們是否允許您正在尋找的交互類型。
  • 評論——同樣,如果你希望人們能夠在你的博客上發表評論,你需要尋找一個適合你需要的本地插件,或者像disws這樣的服務。
  • 多個作者——如果你需要一個人以上的人為你的網站寫,事情會變得更加複雜。您需要確保在手動構建站點之前將其帖子拉到本地計算機,或者通過另一種方法(如Dropbox、源代碼管理等)。
  • 數據驅動頁面——有一些插件,例如,可以使用頁面模板中包含的數據創建CSV文件。但是設置它們有點複雜,同時提供的功能比完整數據庫少。
  • 高度互動的功能——如果你希望用這些工具中的一個來創建谷歌地圖或文檔,你就錯了。
  • 電子商務——靜態網站不會讓自己承擔電子商務中許多不斷變化的規則和屬性(稅收、運費)。

總體而言,靜態站點生成器是發佈工具,適合用戶尋找一種簡單的方法來創建一些內容併為web做好準備。

你怎麼認為?你願意讓一個靜態站點生成器旋轉一下嗎?認為CMS仍然是一條路要走嗎?讓我們在下面的評論中討論一下!

圖片來源:mihalec viaShutterstock.com網站

  • 發表於 2021-03-14 15:10
  • 閱讀 ( 56 )
  • 分類:科技

你可能感興趣的文章

內容管理系統(drupal)和wordpress公司(wordpress)的區別

...透過在“模組”選項卡下安裝不同的擴充套件來擴充套件站點的功能。此外,社交網路對於增加使用者數量很重要。Drupal包含社交媒體模組來實現這一任務。它可以在Facebook、Twitter等社交媒體網站上釋出內容。 Drupal的一些缺點...

  • 發佈於 2020-10-17 04:20
  • 閲讀 ( 42 )

使用dropbox、google drive或onedrive獲得免費網站託管

...案可以線上訪問的實際過程。還沒有?考慮使用靜態站點生成器。我以尼古拉為例。 ...

  • 發佈於 2021-03-11 15:21
  • 閲讀 ( 62 )

如何儘快開始寫部落格?

... 鱷魚主機 地機 網站生成器 戈達迪 ...

  • 發佈於 2021-03-11 16:06
  • 閲讀 ( 75 )

15個最好的免費joomla擴充套件,以改善您的網站

...立一個雄心勃勃的網站,大量的出版和媒體,那麼你應該考慮使用K2。這個Joomla擴充套件將您的站點變成一個全面的新聞/雜誌出版物。 ...

  • 發佈於 2021-03-13 02:11
  • 閲讀 ( 73 )

輕量級標記語言:這就是為什麼應該使用asciidoc而不是常規標記語言

...降價或者透過使用外掛。 儘管像靜態站點生成器這樣的釋出系統通常支援帶有外掛的Asciidoc,但它們支援開箱即用的降價幾乎是既定的。 ...

  • 發佈於 2021-03-13 03:23
  • 閲讀 ( 58 )

使用sql連線字串的巧妙方法

...,並用SQL使之活躍起來嗎?或者你可能需要一個靜態站點生成器來更簡單地構建網站。 ...

  • 發佈於 2021-03-13 07:05
  • 閲讀 ( 48 )

啟動新網站時不要忘記以下10個安全提示

... 你應該考慮的不僅僅是你自己的安全。你的訪客和谷歌都會感激你加密你網站上的所有流量。尤其是如果你的訪客將分享任何敏感資訊。 ...

  • 發佈於 2021-03-13 08:19
  • 閲讀 ( 46 )

您需要了解的有關內容管理系統的所有資訊

... 給定CMS的程式語言還考慮了它所支援或完全需要的資料庫。PHP對MySQL有很好的支援,儘管使用它的cmse通常也可以使用PostgreSQL或SQLite。同樣,dnncms支援microsoftsqlserver,而Alfresco支援企業級和Java...

  • 發佈於 2021-03-13 12:08
  • 閲讀 ( 50 )

壓縮的html是如何工作的以及為什麼需要它

... 如果你已經遠離像WordPress這樣的cmse,現在使用靜態站點生成器,這是一種可行的技術。 ...

  • 發佈於 2021-03-14 09:00
  • 閲讀 ( 48 )

7個標誌你應該升級你的免費網站到一個高階服務

... 4您需要高階網站生成器功能 ...

  • 發佈於 2021-03-15 00:02
  • 閲讀 ( 54 )