讓我們先看一下Lektor quickstart blog範例的整個專案架構,進入專案資料夾中,會看到1個檔案及4個資料夾
:
.
|____LektorTest.lektorproject
|____content
|____models
|____templates
|____assets
以下做簡單的介紹,
models
分析,並渲染到templates
。css
等。大致了解整個架構之後,接下來開始說明各個項目的細節吧,首先是*.lektorproject
,也就是專案設定檔!
Project File
我稱為專案設定檔,裡面放置此專案的相關資訊。當使用quickstart
建立專案後,此檔案會以專案名稱為檔名,副檔名則為.lektorproject
。
我在建立專案時命名為LektorTest
,因此這邊的專案檔即為LektorTest.lektorproject
。打開檔案,裡面只包含一個資訊,也就是專案名稱:
[project]
name = LektorTest
除了這個參數以外,Lektor也提供了許多參數可以設定:
[project]
控制專案的基本資料,包含以下項目可以設定:
項目 | 說明 |
---|---|
name | 專案名稱。此項目可以被Lektor用在網站中,像是編輯模式裡面的標題(經實際測試,將專案名稱修改後,網頁中並沒有出現變動或是更新後的專案名稱,詳細使用方式可能還要再確認。) |
locale | 設定場所,或者說是時區,預設為en_US ,提供Lektor判斷時區之設定。 |
url | 設定主網址。 |
url_style | 設定網站中各個網頁網址樣式,分為relative , absolute 及external 三種,預設為relative 。 |
path | 設定檔案的路徑。當沒有額外設定時,Lektor會將檔案存放於專案特定資料夾中,但如果你要想將檔案放置於專案資料夾外,可能是為了方便管理,或是不想要變成版本控制的資料之一,就可以透過設定path指定你想要的檔案存放路徑。 |
exclued_assets | 設定排除的檔案規則,預設_ 及. 開頭的檔案,無法從assets 資料夾中複製。以逗號區隔各式規則。 |
inclued_assets | 當有檔案符合排除的檔案規則,卻有複製的需求,可以將檔名加入到此項目中,作為例外的檔名。以逗號區隔各式規則。 |
以下為官網提供的範例,可以看到設定內容,專案名稱為My Website
,網址為https://www.mywebsite.invalid/
,時區設定在德國,副檔名為.backup
及檔案以~
結尾的檔案均無法複製,而_special_file
則設定為例外檔案。
[project]
name = My Website
url = https://www.mywebsite.invalid/
locale = de_DE
excluded_assets = *.backup, *~
included_assets = _special_file
前面有提到url_style有三種形式,這裡稍作說明:
relative
首先是預設的設定,網址的路徑會與網頁的路徑為主,他的網址樣式如下:
absolute
以檔案與主頁的絕對路徑顯示。
external
當有設定url
的路徑時,可以設定url_style為external,提供給有網址設定特殊需求的管理者使用。
此處可設定套件,或稱作是外掛,安裝於此專案中。輸入套件名稱為參數名稱,其值為版本編號:
[packages]
lektor-webpack-support = 0.1
此項目提供部署設定,當開發時若有測試機及正式機等兩個以上的伺服器部署時,可以利用此項目建立不同伺服器的設定,並且在部署時增加設定的名稱(取代*
的部分),Lektor就會依照該名稱的設定內容進行部署。例如我完成正式機的部署設定如下,我就可以透過$ lektor deploy production
的方式將專案部署到伺服器上:
[servers.production]
name = Production
enabled = yes
default = yes
target = rsync://server/path/to/folder
因為server.production
在這邊設定為default,在輸入命令時也可以直接省略名稱:$ lektor deploy
當網頁有多語言需求的時候可以使用,預設為關閉,也就是沒有多語言選項。
以下為建立en
及fr
兩種語言的範例:
[alternatives.en]
name = English
primary = yes
locale = en_US
[alternatives.fr]
name = French
url_prefix = /fr/
locale = fr
CSScoke - 金魚都能懂的這個網頁畫面怎麼切 - 金魚都能懂了你還怕學不會嗎
King Tzeng - IoT沒那麼難!新手用JavaScript入門做自己的玩具~
Hina Hina - 陣列大亂鬥
阿斬 - Python 程式交易 30 天新手入門
Clarence - LINE bot 好好玩 30 天玩轉 LINE API
塔塔默 - 用Python開發的網頁不能放到Github上?Lektor說可以!!
Vita Ora - 好 Js 不學嗎 !? JavaScript 入門中的入門。