2017-06-04 39 views
0

我仍在學習Jekyll,但我試圖移植我們的文檔,以便人們在我們的產品中更新它們時可以訪問我們的文檔。理想情況下,我想盡可能無縫地實現這一點。我們的產品文檔以.MD格式已經擺出來,和樹是這個樣子:從子目錄訪問Jekyll收集文件

├── 01_Using_The_Dashboard 
│   ├── 01_Dashboard_Overview.md 
│   ├── 02_Widgets_Overview.md 
│   ├── 03_Pre-built_Widgets.md 
│   ├── 04_Creating_your_own_widgets.md 
│   ├── 05_Search_Syntax.md 
│   ├── 06_Dashboard_Import_Export.md 
│   ├── images 
│   │   ├── [email protected] 
│   │   ├── [email protected] 
│   │   ├── [email protected] 
│   │   ├── [email protected] 
│   │   ├── [email protected] 
│   │   ├── [email protected] 
│   │   ├── [email protected] 
│   │   ├── [email protected] 
│   │   ├── [email protected] 
│   │   ├── [email protected] 
│   │   ├── [email protected] 
│   │   ├── [email protected] 
│   │   ├── [email protected] 
│   │   ├── [email protected] 
│   │   ├── [email protected] 
│   │   ├── [email protected] 
│   │   ├── [email protected] 
│   │   ├── [email protected] 
│   │   ├── [email protected] 
│   │   ├── [email protected] 
│   │   └── [email protected] 
│   └── index.md 
├── 02_Creating_Triggers 
│   ├── 01_Trigger_Page.md 
│   ├── 02_Explanation_of_Actions.md 
│   ├── 03_Trigger_Scripts.md 
│   ├── images 
│   │   ├── add-new-trigger.png 
│   │   ├── [email protected] 
│   │   ├── [email protected] 
│   │   ├── [email protected] 
│   │   ├── [email protected] 
│   │   ├── [email protected] 
│   │   ├── [email protected] 
│   │   ├── [email protected]png 
│   │   └── [email protected] 
│   └── index.md 
├── 03_Alerts 
│   ├── 01_Alerts_Overview.md 
│   ├── 02_Automations.md 
│   ├── 03_Trigger_Import_Export.md 
│   ├── 04_Outgoing_Webhooks.md 
│   ├── images 
│   │   ├── add-new-trigger.png 
│   │   ├── filters-hosts.png 
│   │   ├── filters-severities.png 
│   │   ├── outgoing_webhooks.png 
│   │   ├── slack_alert.png 
│   │   └── triggers.png 
│   └── index.md 
├── 04_Backend_Administration 
│   ├── 01_Receiving_Syslog_Events.md 
│   ├── 02_Sending_Email_From_The_Server.md 
│   ├── 03_Archive_and_Restore.md 
│   ├── 04_Server_Licensing.md 
│   ├── 05_Using_TLS_Tunnels.md 
│   ├── 06_Using_HTTPS.md 
│   ├── 07_Backend_Configuration_Options.md 
│   ├── 08_Backend_Search_Settings.md 
│   ├── 09_Migrating_LogZilla_To_A_New_Server.md 
│   ├── images 
│   │   └── smtp.png 
│   └── index.md 
├── 05_Software_Notes 
│   ├── 01_Development_Lifecycle.md 
│   ├── 02_Release_Notes.md 
│   ├── 03_LogZilla_VMWare_Image.md 
│   ├── images 
│   │   └── ticketflow.png 
│   └── index.md 
├── 06_Performance_Tuning 
│   ├── 01_UDP_Buffer_Tuning.md 
│   ├── 02_CPU_Frequency_Governers.md 
│   ├── 03_VMWare_Performance.md 
│   ├── 04_Filesystem_Performance.md 
│   ├── images 
│   │   └── vmware-disk-priority.png 
│   └── index.md 
├── 07_Receiving_Data 
│   ├── 01_Receiving_SNMP_Traps.md 
│   ├── 02_Cisco_IOS_Configuration.md 
│   ├── 03_Receiving_Rsyslog_Events.md 
│   ├── 04_Debugging_Event_Reception.md 
│   ├── 05_Incoming_Webhooks.md 
│   ├── 06_Receiving_Windows_Events.md 
│   ├── images 
│   │   ├── snare-001.png 
│   │   ├── snare-002.png 
│   │   ├── snare-003.png 
│   │   └── snare-004.png 
│   └── index.md 
├── 08_Event_Correlation 
│   ├── 01_Intro_to_Event_Correlation.md 
│   ├── 02_Event_Correlation_Rule_Types.md 
│   ├── 03_Sample_Rules.md 
│   ├── 04_Correlating_Windows_Events.md 
│   ├── images 
│   │   ├── cisco-ec-mne.png 
│   │   ├── cisco-ec-save.png 
│   │   └── cisco-ec.png 
│   └── index.md 
├── 09_API 
│   ├── 01_Using_The_API.md 
│   └── index.md 
└── template.html 

我有幾個障礙:

  1. 結構當然
  2. 我們的MD文件上面AREN沒有使用前端的問題,相反,我們在減價文件的頂部有<!-- @@@title:Dashboard [email protected]@@ -->。我可以做一些像perl -i -pe 's/<\!-- @@@(title:)(.*?)@@@ -->/---\n$1 $2\n---\n/g' *.md的事情,但不確定是否有更優雅的解決方案。
  3. 圖片鏈接也必須轉換。在我們的文件,他們這樣做,像這樣:![Controls](@@path/images/controls.png)

可有人建議我可以用它來使這是一個易於repleatable工藝,使我們更新了網站上我們的文檔,它們自動更新的方法?

回答

0

1)上面的結構應該沒問題。我不會將它添加到「_posts」目錄,而是直接添加到根文件夾。然後,它應該產生這樣的文件:

01_Using_The_Dashboard/01_Dashboard_Overview.html 

如果你不滿意所產生的永久鏈接,您可以始終覆蓋在Frontmatter此設置。

2)我不知道任何$ x2frontfront工具。就我所知,有些東西可以從wordpress遷移。我認爲你的perl解決方案可能是做這種轉換最優雅的方式。還請考慮生成添加內容,如「layout:page」或類似內容,否則必須在之後進行維護。

3)您可以使用基本url而不是@@ path。請參閱Parkers post。請參閱variables section,其中可能包含更多有用的信息。

關於你的第四個問題,你似乎想知道如何自動部署更改。就像連續部署一樣。有多種方法可以做到這一點。

  1. 這是一篇博客文章,我之前使用rsync, crontab and shell進行了自動部署。
  2. 這裏是更詳細的博客文章,如何deploying to S3(包括資產)。
  3. 甚至有選擇部署到GitHub。請參閱文檔GitHub Pages

我個人使用CloudFront/S3選項。

+0

Ty。問題:如果我將所有這些目錄都放在'_docs'下,那麼爲了使它們可訪問,需要將什麼添加到_config.yaml中?我如何在'foreach'循環中訪問它們? –

+0

爲什麼_docs而不只是文檔?您可以使用pages變量遍歷它們。只是按路徑過濾 – Christian