Skip to content

Commit b45d9a6

Browse files
committed
Doc guide finalization
Signed-off-by: Hofi <[email protected]>
1 parent 8e32888 commit b45d9a6

File tree

8 files changed

+579
-120
lines changed

8 files changed

+579
-120
lines changed

_data/excluded_titles.yml

+1
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,4 @@
1111
- '[Ii]nstallation'
1212
- '[Oo]ption[s]?'
1313
- '[Nn]ame'
14+
- 'syslog-ng OSE configuration'

_data/external_links.yml

+60-15
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,11 @@ gh-syslog-ng-doc:
3737
url: https://github.com/syslog-ng/syslog-ng.github.io
3838
title: [ "syslog-ng OSE Doc on GitHub" ]
3939

40+
gh-syslog-ng-doc-actions:
41+
id: gh-syslog-ng-doc-actions
42+
url: https://github.com/syslog-ng/syslog-ng.github.io/actions
43+
title: [ "syslog-ng Doc Actions on GitHub" ]
44+
4045
gh-syslog-ng-doc-issue-tracker:
4146
id: gh-syslog-ng-doc-issue-tracker
4247
url: https://github.com/syslog-ng/syslog-ng.github.io/issues
@@ -180,6 +185,11 @@ lic-lgpl:
180185

181186
### Site engine related links ###
182187

188+
jekyll:
189+
id: jekyll
190+
url: https://jekyllrb.com/
191+
title: [ "Jekyll" ]
192+
183193
jekyll-config:
184194
id: jekyll-config
185195
url: https://jekyllrb.com/docs/configuration/
@@ -190,11 +200,41 @@ jekyll-dir-struct:
190200
url: https://jekyllrb.com/docs/structure/
191201
title: [ "Jekyll doc structure" ]
192202

203+
jekyll-sass:
204+
id: jekyll-sass
205+
url: https://jekyllrb.com/docs/assets/#sassscss
206+
title: [ "Jekyll Sass" ]
207+
193208
jekyll-ruby-gems:
194209
id: jekyll-ruby-gems
195210
url: https://jekyllrb.com/docs/ruby-101/
196211
title: [ "Jekyll Ruby Gems" ]
197212

213+
jekyll-liquid-filters:
214+
id: jekyll-liquid-filters
215+
url: https://jekyllrb.com/docs/liquid/filters/
216+
title: [ "Jekyll liquid filter" ]
217+
218+
jekyll-plugins:
219+
id: jekyll-plugins
220+
url: https://jekyllrb.com/docs/plugins/
221+
title: [ "Jekyll plugin" ]
222+
223+
jekyll-render-hooks:
224+
id: jekyll-render-hooks
225+
url: https://jekyllrb.com/docs/plugins/hooks/
226+
title: [ "Jekyll plugin Hooks" ]
227+
228+
liquid:
229+
id: liquid
230+
url: https://shopify.github.io/liquid/
231+
title: [ "liquid" ]
232+
233+
liquify-rb:
234+
id: liquify-rb
235+
url: https://fettblog.eu/snippets/jekyll/liquid-in-frontmatter/
236+
title: [ "liquify.rb" ]
237+
198238
lunr-search-help:
199239
id: lunr-search-help
200240
url: https://lunrjs.com/guides/searching.html
@@ -238,6 +278,26 @@ apple-launchd:
238278
url: https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html
239279
title: [ "Apple launchd" ]
240280

281+
apple-predicates:
282+
id: apple-predicates
283+
url: https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/Predicates/Articles/pSyntax.html
284+
title: [ "native macOS log message filtering using predicates" ]
285+
286+
apple-oslog-api:
287+
id: apple-oslog-api
288+
url: https://developer.apple.com/documentation/os/oslog
289+
title: [ "OSLog API" ]
290+
291+
apple-oslog-api-bug:
292+
id: apple-oslog-api-bug
293+
url: https://openradar.appspot.com/radar?id=5597032077066240
294+
title: [ "OSLog API bug" ]
295+
296+
apple-oslog-framwrk:
297+
id: apple-oslog-framwrk
298+
url: https://developer.apple.com/documentation/oslog?language=objc
299+
title: [ "OSLog Framework" ]
300+
241301
autoconf-arch:
242302
id: autoconf-arch
243303
url: http://www.gnu.org/software/autoconf-archive/
@@ -388,21 +448,6 @@ linux-ha:
388448
url: https://web.archive.org/web/20230422234943/http://www.linux-ha.org/wiki/Main_Page
389449
title: [ "archived page of Linux-HA" ]
390450

391-
nat-macos:
392-
id: nat-macos
393-
url: https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/Predicates/Articles/pSyntax.html
394-
title: [ "native macOS log message filtering using predicates" ]
395-
396-
oslog-api-bug:
397-
id: oslog-api-bug
398-
url: https://openradar.appspot.com/radar?id=5597032077066240
399-
title: [ "OSLog API bug" ]
400-
401-
oslog-fra:
402-
id: oslog-fra
403-
url: https://developer.apple.com/documentation/oslog?language=objc
404-
title: [ "OSLog Framework" ]
405-
406451
proxy-pro:
407452
id: proxy-pro
408453
url: https://www.haproxy.com/blog/haproxy/proxy-protocol/

_data/navigation.yml

+63-39
Large diffs are not rendered by default.

_sass/minimal-mistakes/minimal-mistakes/_page.scss

+7
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,13 @@ body {
143143
}
144144
}
145145

146+
h3,
147+
h4,
148+
h5,
149+
h6 {
150+
padding-bottom: 0.75em;
151+
}
152+
146153
p,
147154
li,
148155
dl {

doc/_doc-guide/01_Structure/README.md

+97-24
Original file line numberDiff line numberDiff line change
@@ -14,79 +14,152 @@ Basically we follow [[jekyll|jekyll-dir-struct]] and [[minimal-mistake|mm-dir-st
1414
│ navigation.yml
1515
│ excluded_titles.yml
1616
│ external_links.yml
17-
18-
├── _js
19-
│ ├── custom
20-
│ ├── plugins
21-
│ ├── vendor
22-
│ _main.js
17+
│ link_aliases.yml
2318
2419
├── _includes
2520
│   ├── footer
2621
│   ├── head
2722
│   ...
2823
│   └── search
2924
25+
├── _js
26+
│ ├── custom
27+
│ ├── plugins
28+
│ ├── vendor
29+
│ _main.js
30+
3031
├── _layouts
32+
33+
├── _plugins
34+
3135
├── _sass
3236
│   └── minimal-mistakes
37+
38+
├── .github
39+
│ └── workflows
40+
3341
├── _site
42+
3443
├── _tools
44+
3545
├── assets
3646
│ ├── css
3747
│ ├── images
3848
│ └── js
49+
3950
├── doc
4051
│   ├── _admin-guide
4152
│   ├── _dev-guide
42-
│   └── _doc-guide
53+
│   ├── _doc-guide
54+
│   └── site-internal
4355
4456
_config.yml
4557
Gemfile
46-
LICENSE.midnight
47-
LICENSE.minimal-mistakes
58+
LICENSE.*
4859
README.md
4960
```
5061

5162
### Directories
5263

53-
- _data
64+
- _data \
65+
Contains further `_site` generation input files for navigation, link generation, exclusion, etc.
5466
- links \
5567
<u>DO NOT USE!!!</u> \
56-
It lives only during jekyll serving _site data, excluded from git via `.gitignore` \
57-
It is built based the content of the `doc` folder
68+
It lives only during jekyll generatig the _site data, excluded from git via `.gitignore` \
69+
It is built based the content of the `doc` folder and contains files used for autolink/tooltip generation.
5870

5971
- _includes \
72+
This folder contains reusable and/or common html and liquid codes the final `_site` pages are using.
6073

61-
- _js \
74+
- _js
6275
- custom \
63-
To stay organized, please keep our custom scripts in this folder.
64-
76+
To stay organized, please keep our custom js scripts in this folder.
77+
- plugins
78+
- vendor
79+
3rd party js scripts used mainly by minimal-mistakes, but also keeps dependencies of our modifications as well.
80+
- lunr
81+
lunr is also a 3rd party dependency, it is now the default search engine, and we have a slighty modified version of its `lunr-en.js`
6582
- _layouts \
83+
The main layout files the final `_site` pages are based on. Only the really used layouts are kept, all the other default minimal-mistakes layouts wre removed.
6684

6785
- _sass \
86+
The Jekyll Sass converter input files, container of all the styles related sheets, except the main sheet files.
6887

6988
- _site \
89+
<u>DO NOT USE!!!</u> \
90+
This is the generated static `_site` content container, the content of this foler will be the final HTML site.\
91+
Excluded from git via `.gitignore` \
7092

7193
- _tools \
94+
This folder contains our [[self-made helper tools|doc-own-tools]].
95+
96+
- .github
97+
- workflows \
98+
The [[GitHub CI build Action|gh-syslog-ng-doc-actions]] workflow files.
7299

73-
- assets \
74-
- css
75-
- images
100+
- assets
101+
- css \
102+
The `_site` main style sheet definition files which include the content of the `_sass` folder and serve as style sheet files for skinning as well. \
103+
See comments in `main.scss` for more.
104+
- images \
105+
The `_site` image files collector folder, please keep all the used images here, and try keep them organized mainly on their collection membership.
76106
- js \
77107
<u>DO NOT USE!!!</u> \
78-
It lives only during jekyll serving _site data, excluded from git via `.gitignore` \
108+
It lives only during jekyll serving `_site` data, excluded from git via `.gitignore` \
79109
It is built from the content of the `_js` folder
80110

81111
- doc \
112+
This folder contains the real content, the markdwon files, of a given documentation collection.
113+
- _admin-guide \
114+
Markdown source files of The syslog-ng OSE Administration Guide
115+
- _dev-guide \
116+
Markdown source files of the [[Developer Guide|dev-guide]]
117+
- _doc-guide \
118+
Markdown source files of the [[Documentation Guide|doc-guide]]
119+
- site-internal \
120+
Markdown and HTML source files of the none collection, mainly `_site` common, pages like the 404 page.
82121

83122
### Files
84123

85124
- _config.yml \
86-
[[Jekyll configuration|jekyll-config]] file
125+
Our [[Jekyll configuration|jekyll-config]] file
87126
- Gemfile \
88-
Jekyll and minimal-mistake [[Ruby gem|jekyll-ruby-gems]] dependencies
89-
- README.md \
90-
The project [[GitHub repository|gh-syslog-ng-doc]] landing page readme file
127+
Jekyll and minimal-mistake [[Ruby gem|jekyll-ruby-gems]] dependencies
91128
- LICENSE.* \
92-
All the licence files of the modules the project uses
129+
All the licence files of the modules the project uses
130+
- README.md \
131+
The project [[GitHub repository|gh-syslog-ng-doc]] landing page readme file
132+
- _data/navigation.yml \
133+
The input yaml file of the left navigation sidebar, this is generated by the navgen tool (DO NOT EDIT, your edits will be overwritten!).
134+
- _data/excluded_titles.yml \
135+
A list of sentences that will be excluded from the autolink/tooltip generation.
136+
- _data/external_links.yml \
137+
Collector of all the external links we are referencing in our pages, please keep all none site cross links here.
138+
- _data/link_aliases.yml \
139+
A link ID based collection of alias sentences that will produce the same autolink/tooltip.
140+
- .github/workflows/jekyll-gh-pages.yml \
141+
The GitHub CI Action site builder Workflow file.
142+
- _js/main.min.js \
143+
All of our separate js script files (that not embedded into HTML pages) [[pack]]ed into a min.js file, except lunr files, see bellow. (DO NOT EDIT, your edits will be overwritten!)
144+
- _js/lunr/lunr-en.js \
145+
This is a bit modified version of the lunr script that actually generates the search result output, we use a simplfied search method, actually we reverted back from the minimal-mistakes version to the original, default one described in the lunr help.
146+
- _plugins/common_includes.rb \
147+
A Jekyll pre_render pass plugin that inserts our common inlude files into each markdown page
148+
- _plugins/[[generate_links]].rb \
149+
A Jekyll post_render pass plugin that generates the input link files for autolink/tooltip.
150+
- _plugins/[[generate_tooltips]].rb \
151+
A Jekyll pre_render pass plugin that generates the autolink/tooltip HTML code based on link output files of generate_links.rb and our custom markdwon extension.
152+
- _plugins/[[liquify]].rb \
153+
A Jekyll liquid filter plugin that can force the evaluation of a liquid expression.
154+
- _tools/banner.js \
155+
A js script that adds a DO NOT EDIT banner to a given script file.
156+
- _tools/[[linkcheck]] \
157+
A shell script that checks the validity and availability of the link URLs in a given link file, usually in our external_links.yml
158+
- _tools/[[navgen]] \
159+
A shell script that generates the input navigation.yml file of our left navigation sidebar from the page titles
160+
- _tools/[[pack]] \
161+
A shell script that produces the packed main.min.js file.
162+
- _tools/package.json.in \
163+
The input json template file of the pack tool.
164+
- _tools/[[serve]] \
165+
A `jekyll serve` wrapper with multiple additional features.

0 commit comments

Comments
 (0)