从子目录

时间:2017-06-04 03:24:33

标签: jekyll liquid yaml-front-matter

我还在学习Jekyll,但我正在尝试移植我们的文档,以便人们可以在我们的产品中更新它们时访问我们的文档。理想情况下,我希望尽可能无缝地实现这一点。我们的产品文档已经以.md格式布局,树看起来像这样:

├── 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
│   │   ├── add-widget@2x.png
│   │   ├── controls@2x.png
│   │   ├── creating-search-widget@2x.png
│   │   ├── dashboard-edit@2x.png
│   │   ├── dashboard-selector@2x.png
│   │   ├── edit-widget-field@2x.png
│   │   ├── edit-widget-filter@2x.png
│   │   ├── edit-widget-modal@2x.png
│   │   ├── edit-widget-other@2x.png
│   │   ├── edit-widget@2x.png
│   │   ├── event-rate-widget@2x.png
│   │   ├── lastn-widget@2x.png
│   │   ├── notifications-widget@2x.png
│   │   ├── resize-widget@2x.png
│   │   ├── save-to-dashboard@2x.png
│   │   ├── search-results-widget@2x.png
│   │   ├── system-widget@2x.png
│   │   ├── tasks-widget@2x.png
│   │   ├── time-range-selector@2x.png
│   │   ├── time-range@2x.png
│   │   └── topn-widget@2x.png
│   └── index.md
├── 02_Creating_Triggers
│   ├── 01_Trigger_Page.md
│   ├── 02_Explanation_of_Actions.md
│   ├── 03_Trigger_Scripts.md
│   ├── images
│   │   ├── add-new-trigger.png
│   │   ├── add-note@2x.png
│   │   ├── execute-script@2x.png
│   │   ├── filters@2x.png
│   │   ├── issue-notification@2x.png
│   │   ├── query-bar@2x.png
│   │   ├── search-results@2x.png
│   │   ├── send-email@2x.png
│   │   └── system-settings@2x.png
│   └── 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文件没有使用前面的内容,相反,我们在markdown文件的顶部有<!-- @@@title:Dashboard Overview@@@ -->。我可以做perl -i -pe 's/<\!-- @@@(title:)(.*?)@@@ -->/---\n$1 $2\n---\n/g' *.md这样的事情,但不确定是否有更优雅的解决方案。
  3. 还必须转换图片链接。在我们的文件中,它们是这样完成的:![Controls](@@path/images/controls.png)
  4. 有人可以建议一种方法,我可以用它来制作一个易于重复的过程,这样当我们更新文档时,它们会在网站上自动更新吗?

1 个答案:

答案 0 :(得分:0)

1)上面的结构应该没问题。我不会将其添加到&#34; _posts&#34;目录但直接到根文件夹。然后它应该生成如下文件:

01_Using_The_Dashboard/01_Dashboard_Overview.html

如果您对生成的固定链接不满意,可以随时在Frontmatter中覆盖此设置。

2)我不知道任何$ x2frontmatter工具。据我所知,有一些东西可以从wordpress迁移。我认为你的perl解决方案可能是进行这种转换的最优雅方式。还请考虑生成添加内容,例如&#34; layout:page&#34;或类似的,否则你必须在之后保持它。

3)您可以使用基本网址代替@@路径。请参阅Parkers post。另请参阅variables section,其中可能包含其他更好的信息。

关于您的第四个问题,您似乎想知道如何自动部署更改。就像持续部署一样。有多种方法可以做到这一点。

  1. 这是我写回来使用rsync, crontab and shell进行自动部署的博文。
  2. 以下是有关如何deploying to S3(包括资产)的更详细的博客文章。
  3. 甚至可以选择部署到GitHub。请参阅GitHub Pages的文档。
  4. 我个人使用CloudFront / S3选项。