j1-template 2021.1.28 → 2021.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/_includes/themes/j1/layouts/content_generator_news_panel_posts.html +6 -6
- data/_includes/themes/j1/layouts/content_generator_post.html +3 -0
- data/_includes/themes/j1/modules/navigator/generator.html +1 -1
- data/_includes/themes/j1/procedures/posts/collate_timeline.proc +5 -5
- data/_includes/themes/j1/procedures/posts/create_series_header.proc +6 -6
- data/_layouts/default.html +6 -2
- data/assets/data/mdil_icons.json +2417 -0
- data/assets/data/panel.html +10 -10
- data/assets/themes/j1/adapter/js/j1.js +8 -7
- data/assets/themes/j1/adapter/js/j1scroll.js +19 -1
- data/assets/themes/j1/adapter/js/navigator.js +11 -4
- data/assets/themes/j1/adapter/js/rtable.js +77 -24
- data/assets/themes/j1/core/css/icon-fonts/materialdesign-light.css +1222 -0
- data/assets/themes/j1/core/css/icon-fonts/materialdesign-light.min.css +1 -0
- data/assets/themes/j1/core/css/icon-fonts/materialdesign.css +1 -1
- data/assets/themes/j1/core/css/themes/uno-dark/bootstrap.css +58 -109
- data/assets/themes/j1/core/css/themes/uno-dark/bootstrap.min.css +1 -1
- data/assets/themes/j1/core/css/themes/uno-light/bootstrap.css +28 -18
- data/assets/themes/j1/core/css/themes/uno-light/bootstrap.min.css +1 -1
- data/assets/themes/j1/core/css/vendor.css +7 -20
- data/assets/themes/j1/core/css/vendor.min.css +1 -1
- data/assets/themes/j1/core/fonts/material_design_icons_light/fonts/eot/materialdesignicons-light-webfont.eot +0 -0
- data/assets/themes/j1/core/fonts/material_design_icons_light/fonts/materialdesignicons-light-webfont.woff +0 -0
- data/assets/themes/j1/core/fonts/material_design_icons_light/fonts/materialdesignicons-light-webfont.woff2 +0 -0
- data/assets/themes/j1/core/fonts/material_design_icons_light/fonts/svg/materialdesignicons-light-webfont.svg +801 -0
- data/assets/themes/j1/core/fonts/material_design_icons_light/fonts/ttf/materialdesignicons-light-webfont.ttf +0 -0
- data/assets/themes/j1/core/js/template.js +4 -4
- data/assets/themes/j1/core/js/template.js.map +1 -1
- data/assets/themes/j1/core/js/template.min.js +4 -4
- data/assets/themes/j1/core/js/template.min.js.map +1 -1
- data/assets/themes/j1/modules/carousel/css/theme/uno.css +1 -1
- data/assets/themes/j1/modules/carousel/css/theme/uno.min.css +1 -1
- data/assets/themes/j1/modules/j1Scroll/js/j1scroll.js +11 -21
- data/assets/themes/j1/modules/j1Scroll/js/j1scroll.min.js +1 -1
- data/assets/themes/j1/modules/justifiedGallery/css/theme/uno.css +1 -1
- data/assets/themes/j1/modules/justifiedGallery/css/theme/uno.min.css +1 -1
- data/assets/themes/j1/modules/mdiPreviewer/css/previewer.css +1 -1
- data/assets/themes/j1/modules/mdiPreviewer/css/previewer.min.css +1 -1
- data/assets/themes/j1/modules/mdiPreviewer/js/previewer.js +5 -15
- data/assets/themes/j1/modules/mdiPreviewer/js/previewer.min.js +1 -1
- data/assets/themes/j1/modules/mdilPreviewer/css/previewer.css +97 -0
- data/assets/themes/j1/modules/mdilPreviewer/css/previewer.min.css +15 -0
- data/assets/themes/j1/modules/mdilPreviewer/js/previewer.js +125 -0
- data/assets/themes/j1/modules/mdilPreviewer/js/previewer.min.js +15 -0
- data/assets/themes/j1/modules/rtable/css/theme/uno/rtable.css +3 -3
- data/assets/themes/j1/modules/rtable/css/theme/uno/rtable.min.css +2 -174
- data/assets/themes/j1/modules/rtable/js/rtable.js +59 -25
- data/assets/themes/j1/modules/rtable/js/rtable.min.js +12 -683
- data/assets/themes/j1/modules/showOnScroll/js/showOnScroll.js +73 -73
- data/assets/themes/j1/modules/showOnScroll/js/showOnScroll.min.js +15 -15
- data/lib/j1/commands/generate.rb +5 -8
- data/lib/j1/version.rb +1 -1
- data/lib/starter_web/Gemfile +1 -1
- data/lib/starter_web/_config.yml +15 -51
- data/lib/starter_web/_data/blocks/banner.yml +4 -5
- data/lib/starter_web/_data/blocks/panel.yml +217 -183
- data/lib/starter_web/_data/layouts/home.yml +20 -16
- data/lib/starter_web/_data/modules/defaults/navigator.yml +1 -1
- data/lib/starter_web/_data/modules/defaults/rtable.yml +34 -0
- data/lib/starter_web/_data/modules/j1scroll.yml +12 -2
- data/lib/starter_web/_data/modules/navigator_menu.yml +3 -3
- data/lib/starter_web/_data/modules/rtable.yml +34 -0
- data/lib/starter_web/_data/resources.yml +38 -16
- data/lib/starter_web/_includes/attributes.asciidoc +6 -1
- data/lib/starter_web/_plugins/lunr_index.rb +1 -1
- data/lib/starter_web/assets/images/modules/attics/annie-spratt-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/antonino-visalli-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/humble-lamb-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/library-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/romain-vignes-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/sigmund-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/{pages/videos → modules/attics}/szabo-viktor-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/pages/asciidoc_skeletons/example-pdf-screenshot.png +0 -0
- data/lib/starter_web/collections/posts/public/featured/_posts/{2020-01-01-about-cookies.adoc → 2021-01-01-about-cookies.adoc} +0 -0
- data/lib/starter_web/collections/posts/public/featured/_posts/{2021-03-01-site-generators.adoc → 2021-02-01-site-generators.adoc} +0 -0
- data/lib/starter_web/collections/posts/public/{wikipedia/_posts/2016-11-20-minneapolis.adoc → series/_posts/2020-01-01-post-wiki-series.adoc} +11 -10
- data/lib/starter_web/collections/posts/public/{wikipedia/_posts/2016-11-24-narcisse-snake-dens.adoc → series/_posts/2020-01-02-post-wiki-series.adoc} +15 -13
- data/lib/starter_web/collections/posts/public/{wikipedia/_posts/2016-11-26-columbia-river.adoc → series/_posts/2020-01-03-post-wiki-series.adoc} +28 -11
- data/lib/starter_web/collections/posts/public/{wikipedia → series}/_posts/_includes/attributes.asciidoc +0 -0
- data/lib/starter_web/collections/posts/public/{wikipedia → series}/_posts/_includes/documents/readme +0 -0
- data/lib/starter_web/collections/posts/public/{wikipedia → series}/_posts/_includes/tables/readme +0 -0
- data/lib/starter_web/index.html +2 -2
- data/lib/starter_web/package.json +1 -1
- data/lib/starter_web/pages/public/asciidoc_skeletons/{book → documentation}/000_intro.adoc +5 -7
- data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/100_converter.adoc +43 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/200_themes.adoc +61 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/attributes.asciidoc +95 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/documents/000_intro.asciidoc +54 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/documents/100_converter/000_basic_example.asciidoc +31 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/documents/100_converter/111_about_the_converter.asciidoc +111 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/documents/100_converter/112_getting_started.asciidoc +95 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/documents/100_converter/113_themes.asciidoc +39 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/documents/100_converter.asciidoc +8 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/documents/200_themes/211_language_overview.asciidoc +122 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/documents/200_themes/212_values.asciidoc +502 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/documents/200_themes/213_fonts.asciidoc +261 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/documents/200_themes.asciidoc +8 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/{book → documentation}/a2p.bat +1 -1
- data/lib/starter_web/pages/public/asciidoc_skeletons/{book → documentation}/a2p.sh +2 -2
- data/lib/starter_web/pages/public/asciidoc_skeletons/{book/book.a2p → documentation/documentation.a2p} +2 -8
- data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/documentation.adoc +86 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/_includes/documents/100_chapter.asciidoc +848 -40
- data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/_includes/documents/200_chapter.asciidoc +149 -38
- data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/multi.adoc +2 -7
- data/lib/starter_web/pages/public/asciidoc_skeletons/simple-document/simple.adoc +312 -119
- data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +5 -5
- data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +5 -5
- data/lib/starter_web/pages/public/blog/navigator/archive.html +5 -5
- data/lib/starter_web/pages/public/previewer/bootstrap_theme.adoc +1 -1
- data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
- data/lib/starter_web/utilsrv/package.json +1 -1
- metadata +51 -82
- data/assets/themes/j1/modules/rtable/js/tablesaw-init.js +0 -18
- data/assets/themes/j1/modules/rtable/js/tablesaw.stackonly.js +0 -2371
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-01-post-test-series.adoc +0 -128
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-02-post-test-series.adoc +0 -131
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-03-post-test-series.adoc +0 -131
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-04-post-test-series.adoc +0 -132
- data/lib/starter_web/pages/infinite-scroll-tester-5.adoc +0 -119
- data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/asciidoc-extensions/blindtext.asciidoc +0 -11
- data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/asciidoc-extensions/font_icons.asciidoc +0 -23
- data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/asciidoc-extensions/gallery.asciidoc +0 -5
- data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/asciidoc-extensions/lightbox.asciidoc +0 -7
- data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/documents/chapter_document.asciidoc +0 -9
- data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/documents/entry_document.asciidoc +0 -3
- data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/images/image.asciidoc +0 -6
- data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/tables/table_2_column.asciidoc +0 -12
- data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/tables/table_2_column_options.asciidoc +0 -30
- data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/tables/table_3_column.asciidoc +0 -16
- data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/tables/table_4_column.asciidoc +0 -25
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/100_chapter.adoc +0 -62
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/200_chapter.adoc +0 -64
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/900_references.adoc +0 -73
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/attributes.asciidoc +0 -74
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/000_intro.asciidoc +0 -33
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/100_chapter/100_chapter_document.asciidoc +0 -21
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/100_chapter/110_chapter_document.asciidoc +0 -36
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/100_chapter.asciidoc +0 -7
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/200_chapter/200_chapter_document.asciidoc +0 -53
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/200_chapter.asciidoc +0 -5
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/900_references/000_intro.asciidoc +0 -23
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/900_references/100_chapter_document.asciidoc +0 -33
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/900_references/200_chapter_document.asciidoc +0 -26
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/900_references/900_sources.asciidoc +0 -81
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/900_references.asciidoc +0 -23
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/tables/110_material_design_icons.asciidoc +0 -102
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/book.adoc +0 -136
- data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/100_chapter.asciidoc +0 -60
- data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/200_chapter.asciidoc +0 -59
- data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/_includes/documents/tables/110_material_design_icons.asciidoc +0 -102
- data/lib/starter_web/pages/public/previewer/_includes/attributes.asciidoc +0 -60
- data/lib/starter_web/pages/public/previewer/_includes/documents/licenses/mit.asciidoc +0 -19
- data/lib/starter_web/pages/public/previewer/_includes/documents/readme +0 -0
- data/lib/starter_web/pages/public/previewer/_includes/documents/rouge/100_language_examples.asciidoc +0 -119
- data/lib/starter_web/pages/public/previewer/_includes/tables/mdi_icons/100_absolute_sizes.asciidoc +0 -39
- data/lib/starter_web/pages/public/previewer/_includes/tables/mdi_icons/110_bs_grid_sizes.asciidoc +0 -47
- data/lib/starter_web/pages/public/previewer/_includes/tables/mdi_icons/120_relative_sizes.asciidoc +0 -47
- data/lib/starter_web/pages/public/previewer/_includes/tables/mdi_icons/200_rotate.asciidoc +0 -71
- data/lib/starter_web/pages/public/previewer/_includes/tables/mdi_icons/300_flip.asciidoc +0 -31
- data/lib/starter_web/pages/public/previewer/_includes/tables/mdi_icons/400_spin_pulsed.asciidoc +0 -39
- data/lib/starter_web/pages/public/previewer/_includes/tables/mdi_icons/500_bw_color_palette.asciidoc +0 -61
- data/lib/starter_web/pages/public/previewer/_includes/tables/mdi_icons/510_bs_color_palette.asciidoc +0 -55
- data/lib/starter_web/pages/public/previewer/_includes/tables/mdi_icons/600_md_color_palette.asciidoc +0 -95
- data/lib/starter_web/pages/public/previewer/_includes/tables/mdi_icons/601_md_color_palette_indigo.asciidoc +0 -95
- data/lib/starter_web/pages/public/previewer/_includes/tables/mdi_icons/602_md_color_palette_pink.asciidoc +0 -95
- data/lib/starter_web/pages/public/previewer/_includes/tables/rouge/200_rouge_attributes.asciidoc +0 -41
- data/lib/starter_web/pages/public/previewer/_includes/tables/rouge/300_supported_languages.asciidoc +0 -857
- data/lib/starter_web/pages/public/previewer/_includes/tables/twitter_emoji/100_bs_sizes.asciidoc +0 -47
- data/lib/starter_web/pages/public/previewer/_includes/tables/twitter_emoji/100_relative_sizes.asciidoc +0 -47
- data/lib/starter_web/pages/public/previewer/_includes/tables/twitter_emoji/200_rotate.asciidoc +0 -71
- data/lib/starter_web/pages/public/previewer/_includes/tables/twitter_emoji/300_flip.asciidoc +0 -30
- data/lib/starter_web/pages/public/previewer/_includes/tables/twitter_emoji/400_spin_pulsed.asciidoc +0 -31
- data/lib/starter_web/pages/public/previewer/iframer.adoc +0 -93
- data/lib/starter_web/pages/public/previewer/justified_gallery.html +0 -41
- data/lib/starter_web/pages/public/previewer/md_color_palette.adoc +0 -574
- data/lib/starter_web/pages/public/previewer/mdi_icons_preview.adoc +0 -220
- data/lib/starter_web/pages/public/previewer/rouge.adoc +0 -133
- data/lib/starter_web/pages/public/previewer/twitter_emoji_preview.adoc +0 -191
data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/attributes.asciidoc
ADDED
@@ -0,0 +1,95 @@
|
|
1
|
+
// ~/document_base_folder/_includes
|
2
|
+
// Asciidoc attribute includes: attributes.asciidoc
|
3
|
+
// -----------------------------------------------------------------------------
|
4
|
+
|
5
|
+
// URLs - Internal references and/or sources on the Internet
|
6
|
+
// -----------------------------------------------------------------------------
|
7
|
+
tag::urls[]
|
8
|
+
:uri-symfony-yaml-format-strings: https://symfony.com/doc/current/components/yaml/yaml_format.html#strings
|
9
|
+
|
10
|
+
:uri-wikipedia-yaml: https://en.wikipedia.org/wiki/YAML
|
11
|
+
:uri-wikipedia-codepage-windows-1252: https://en.wikipedia.org/wiki/Windows-1252
|
12
|
+
|
13
|
+
:uri-asciidoctor: https://asciidoctor.org
|
14
|
+
:uri-asciidoctor-extentions-catalog: https://github.com/asciidoctor/asciidoctor-extensions-lab#extension-catalog
|
15
|
+
:uri-asciidoctor-pdf: https://github.com/asciidoctor/asciidoctor-pdf
|
16
|
+
:uri-asciidoctor-pdf-gem: https://rubygems.org/gems/asciidoctor-pdf
|
17
|
+
:uri-asciidoctor-pdf-repo: {uri-asciidoctor-pdf}
|
18
|
+
:uri-asciidoctor-pdf-issues: {uri-asciidoctor-pdf-repo}/issues
|
19
|
+
:uri-asciidoctor-pdf-issues-1: {uri-asciidoctor-pdf}/issues/1
|
20
|
+
:uri-asciidoctor-pdf-issues-95: {uri-asciidoctor-pdf}/issues/95
|
21
|
+
:uri-asciidoctor-pdf-list: https://discuss.asciidoctor.org
|
22
|
+
:uri-asciidoctor-pdf-base-theme: https://github.com/asciidoctor/asciidoctor-pdf/blob/master/data/themes/base-theme.yml
|
23
|
+
:uri-asciidoctor-pdf-default-theme: https://github.com/asciidoctor/asciidoctor-pdf/blob/master/data/themes/default-theme.yml
|
24
|
+
:uri-asciidoctor-mathematical: https://github.com/asciidoctor/asciidoctor-mathematical
|
25
|
+
:uri-asciidoctor-pdf-cjk-kai_gen_gothic: https://github.com/chloerei/asciidoctor-pdf-cjk-kai_gen_gothic
|
26
|
+
:uri-asciidoctor-pdf-cjk: https://github.com/chloerei/asciidoctor-pdf-cjk
|
27
|
+
:uri-asciidoctor-yaml-style-for-maven: http://discuss.asciidoctor.org/Asciidoctor-YAML-style-file-for-PDF-and-maven-td3849.html
|
28
|
+
:uri-asciidoctor-theme-example-for-maven: https://github.com/asciidoctor/asciidoctor-maven-examples/tree/master/asciidoctor-pdf-with-theme-example
|
29
|
+
:uri-asciidoctor-theme-example-for-gradle: https://github.com/asciidoctor/asciidoctor-gradle-examples/tree/master/asciidoc-to-pdf-with-theme-example
|
30
|
+
|
31
|
+
:uri-ghostscript-ps-pdf-marks: http://milan.kupcevic.net/ghostscript-ps-pdf/#marks
|
32
|
+
|
33
|
+
:uri-prawn-home: http://prawnpdf.org
|
34
|
+
:uri-prawn-gmagick: https://github.com/packetmonkey/prawn-gmagick
|
35
|
+
:uri-prawn-svg: https://github.com/mogest/prawn-svg
|
36
|
+
:uri-prawn-improved-handling-of-encodings: https://github.com/prawnpdf/prawn/blob/master/CHANGELOG.md#vastly-improved-handling-of-encodings-for-pdf-built-in-afm-fonts
|
37
|
+
:uri-prawn-lib-page-geometry: https://github.com/prawnpdf/pdf-core/blob/0.6.0/lib/pdf/core/page_geometry.rb#L16-L68[Named size]
|
38
|
+
:uri-prawn-pdf-typesetting: http://www.sitepoint.com/hackable-pdf-typesetting-in-ruby-with-prawn
|
39
|
+
|
40
|
+
:uri-rouge-home: http://rouge.jneen.net/
|
41
|
+
:uri-rouge-token: https://github.com/jneen/rouge/blob/master/lib/rouge/token.rb
|
42
|
+
:uri-rouge-themes: https://github.com/jneen/rouge/tree/master/lib/rouge/themes
|
43
|
+
|
44
|
+
:uri-rvm: https://rvm.io
|
45
|
+
:uri-graphicsmagick: https://www.graphicsmagick.org
|
46
|
+
:uri-google-groups-image-quality: https://groups.google.com/forum/#!msg/prawn-ruby/MbMsCx862iY/6ImCsvLGfVcJ[Discussion about image quality in PDFs]
|
47
|
+
|
48
|
+
:uri-font-font-awesome: https://fortawesome.github.io/Font-Awesome/
|
49
|
+
:uri-font-foundation-icon-fonts-3: http://zurb.com/playground/foundation-icon-fonts-3
|
50
|
+
:uri-font-paymentfont: http://paymentfont.io/
|
51
|
+
:uri-font-octicons: https://octicons.github.com/
|
52
|
+
:uri-font-prawn-icon: https://github.com/jessedoyle/prawn-icon/tree/master/data/fonts
|
53
|
+
|
54
|
+
:uri-font-roboto-ttf: https://github.com/google/roboto/tree/master/out/RobotoTTF
|
55
|
+
:uri-font-droid-sans-fallback-ttf: https://github.com/android/platform_frameworks_base/blob/master/data/fonts/DroidSansFallback.ttf
|
56
|
+
:uri-font-noto-serif: https://www.google.com/get/noto/#/family/noto-serif
|
57
|
+
:uri-font-m-plus-fonts: https://mplus-fonts.osdn.jp/about-en.html
|
58
|
+
end::urls[]
|
59
|
+
|
60
|
+
|
61
|
+
// FOOTNOTES, local asciidoc attributes (variables)
|
62
|
+
// -----------------------------------------------------------------------------
|
63
|
+
tag::footnotes[]
|
64
|
+
end::footnotes[]
|
65
|
+
|
66
|
+
|
67
|
+
// Tags - Asciidoc attributes used internally
|
68
|
+
// -----------------------------------------------------------------------------
|
69
|
+
tag::tags[]
|
70
|
+
:images-dir: pages/manuals/asciidoctor_pdf
|
71
|
+
end::tags[]
|
72
|
+
|
73
|
+
|
74
|
+
// Data - Data elements for Asciidoctor extensions
|
75
|
+
// -----------------------------------------------------------------------------
|
76
|
+
tag::data[]
|
77
|
+
end::data[]
|
78
|
+
|
79
|
+
|
80
|
+
// Images - Images from local include/images folder
|
81
|
+
// -----------------------------------------------------------------------------
|
82
|
+
tag::images[]
|
83
|
+
end::images[]
|
84
|
+
|
85
|
+
|
86
|
+
// PRODUCTS, local product information (e.g. release)
|
87
|
+
// -----------------------------------------------------------------------------
|
88
|
+
tag::products[]
|
89
|
+
end::products[]
|
90
|
+
|
91
|
+
|
92
|
+
// AUTHORS, local author information (e.g. article)
|
93
|
+
// -----------------------------------------------------------------------------
|
94
|
+
tag::authors[]
|
95
|
+
end::authors[]
|
@@ -0,0 +1,54 @@
|
|
1
|
+
// ~/document_base_folder/000_includes/documents
|
2
|
+
// Intro document: 000_intro.asciidoc
|
3
|
+
// -----------------------------------------------------------------------------
|
4
|
+
|
5
|
+
== Introduction
|
6
|
+
|
7
|
+
The skeleton of type *documentation* (book) can be used to create HTML output
|
8
|
+
(backend *html5*) for websites and *PDF* output (backend *pdf*) for offline
|
9
|
+
reading as well. _J1 Template_ comes with the full support of _Asciidoctor PDF_,
|
10
|
+
a Ruby-based add-on for _Asciidoctor_ using the Ruby PDF writer _Prawn_.
|
11
|
+
|
12
|
+
[IMPORTANT]
|
13
|
+
====
|
14
|
+
If you have plans to convert documents of type type documentation (book)
|
15
|
+
into PDF, make sure you have enabled the Ruby *Gem* `asciidoctor-pdf` with
|
16
|
+
your projects's Gemfile. To make the converter usable, the plugin has to be
|
17
|
+
enabled with your site config file `_config.yml` in section
|
18
|
+
*PLUGIN configuration* as well.
|
19
|
+
====
|
20
|
+
|
21
|
+
Prawn is a pure Ruby PDF generation library that provides a lot of great
|
22
|
+
functionality while trying to remain simple by providing a reasonable
|
23
|
+
performance.
|
24
|
+
|
25
|
+
Some of the important features of the *PDF* writer _Prawn_ are:
|
26
|
+
|
27
|
+
* Vector drawing support, including lines, polygons, curves,
|
28
|
+
ellipses, etc.
|
29
|
+
* Extensive text rendering support, including flowing text
|
30
|
+
nd limited inline formatting options.
|
31
|
+
* Support for both PDF builtin fonts as well as embedded TrueType
|
32
|
+
fonts
|
33
|
+
* A variety of low level tools for basic layout needs, including a
|
34
|
+
simple grid system
|
35
|
+
* PNG and JPG image embedding, with flexible scaling options
|
36
|
+
* Security features including encryption and password protection
|
37
|
+
* Tools for rendering repeatable content (i.e headers, footers, and
|
38
|
+
page numbers)
|
39
|
+
* Comprehensive internationalization features, including full support
|
40
|
+
for UTF-8 based fonts, right-to-left text rendering, fallback font support,
|
41
|
+
and extension points for customizable text wrapping.
|
42
|
+
* Support for PDF outlines for document navigation
|
43
|
+
|
44
|
+
[NOTE]
|
45
|
+
====
|
46
|
+
.Converting the Skeleton
|
47
|
+
|
48
|
+
The Asciidoc skeleton *documentation* (book) is fully *relocateable* and can
|
49
|
+
be placed in any subfolder of your Jekyll site for *HTML* output. For *PDF*
|
50
|
+
output, a single variable `BASE_PATH` has to be set for your environment.
|
51
|
+
|
52
|
+
See the *batch* files `a2p.bat` for _Windows_ (`cmd.exe`) or `a2p.sh` used
|
53
|
+
on _Unix_ or _Linux_ OS for the shell (bash).
|
54
|
+
====
|
@@ -0,0 +1,31 @@
|
|
1
|
+
= Document Title
|
2
|
+
Doc Writer <doc@example.com>
|
3
|
+
:doctype: book
|
4
|
+
:reproducible:
|
5
|
+
//:source-highlighter: coderay
|
6
|
+
:source-highlighter: rouge
|
7
|
+
:listing-caption: Listing
|
8
|
+
// Uncomment next line to set page size (default is A4)
|
9
|
+
//:pdf-page-size: Letter
|
10
|
+
|
11
|
+
A simple http://asciidoc.org[AsciiDoc] document.
|
12
|
+
|
13
|
+
== Introduction
|
14
|
+
|
15
|
+
A paragraph followed by a simple list with square bullets.
|
16
|
+
|
17
|
+
[square]
|
18
|
+
* item 1
|
19
|
+
* item 2
|
20
|
+
|
21
|
+
Here's how you say "`Hello, World!`" in Prawn:
|
22
|
+
|
23
|
+
.Create a basic PDF document using Prawn
|
24
|
+
[source,ruby]
|
25
|
+
----
|
26
|
+
require 'prawn'
|
27
|
+
|
28
|
+
Prawn::Document.generate 'example.pdf' do
|
29
|
+
text 'Hello, World!'
|
30
|
+
end
|
31
|
+
----
|
@@ -0,0 +1,111 @@
|
|
1
|
+
== About the PDF-Generator Prawn
|
2
|
+
|
3
|
+
{uri-asciidoctor-pdf}[Asciidoctor PDF, {browser-window--new}] is made possible by an amazing
|
4
|
+
Ruby gem named _Prawn_. And what a gem it is! {uri-prawn-home}[Prawn, {browser-window--new}] is a
|
5
|
+
nimble PDF writer for _Ruby_. More important, it's a hackable platform that offers
|
6
|
+
both high level APIs for the most common needs and low level APIs for bending
|
7
|
+
the document model to accommodate special circumstances.
|
8
|
+
|
9
|
+
[caption=Status]
|
10
|
+
CAUTION: _Asciidoctor PDF_ is currently _alpha_ software. While the converter
|
11
|
+
handles most AsciiDoc content, there's still work needed to fill in gaps
|
12
|
+
where conversion is incomplete, incorrect or not implemented. See the
|
13
|
+
milestone v1.5.0 in the {uri-asciidoctor-pdf-issues}[Issue tracker, {browser-window--new}]
|
14
|
+
for details.
|
15
|
+
|
16
|
+
With _Prawn_, you can write text, draw lines and shapes and place images
|
17
|
+
_anywhere_ on the page and add as much color as you like. In addition, it
|
18
|
+
brings a fluent API and aggressive code re-use to the printable document space.
|
19
|
+
|
20
|
+
Here's an example that demonstrates how to use _Prawn_ to create a basic PDF
|
21
|
+
document.
|
22
|
+
|
23
|
+
.Create a basic PDF document using _Prawn_
|
24
|
+
[source,ruby]
|
25
|
+
----
|
26
|
+
require 'prawn'
|
27
|
+
|
28
|
+
Prawn::Document.generate 'output.pdf' do
|
29
|
+
text 'Hello, PDF creation!'
|
30
|
+
end
|
31
|
+
----
|
32
|
+
|
33
|
+
It's that easy.
|
34
|
+
And that's just the beginning.
|
35
|
+
|
36
|
+
_Prawn_ is the _killer library_ for PDF generation we've needed to close this
|
37
|
+
critical gap in _Asciidoctor_. It absolutely takes the pain out of creating
|
38
|
+
printable documents. Picking up from there, _Asciidoctor PDF_ takes the pain out
|
39
|
+
of creating PDF documents _from AsciiDoc_.
|
40
|
+
|
41
|
+
=== Highlights
|
42
|
+
|
43
|
+
* Direct AsciiDoc to PDF conversion
|
44
|
+
* SVG support
|
45
|
+
* PDF document outline (i.e., bookmarks)
|
46
|
+
* Table of contents page(s)
|
47
|
+
* Document metadata (title, authors, subject, keywords, etc)
|
48
|
+
* Internal cross reference links
|
49
|
+
* Syntax highlighting with Rouge, Pygments, or CodeRay
|
50
|
+
* Page numbering
|
51
|
+
* Customizable running content (header and footer)
|
52
|
+
* “Keep together” blocks (i.e., page breaks avoided in certain block content)
|
53
|
+
* Orphaned section titles avoided
|
54
|
+
* Autofit verbatim blocks (as permitted by base_font_size_min setting)
|
55
|
+
* Table border settings honored
|
56
|
+
* Font-based icons
|
57
|
+
* Custom (TTF) fonts
|
58
|
+
* Double-sided printing mode (margins alternate on recto and verso pages)
|
59
|
+
|
60
|
+
=== Prerequisites
|
61
|
+
|
62
|
+
All that's needed is _Ruby_ (1.9.3 or above; 2.3.x recommended) and a few _Ruby_
|
63
|
+
gems, which we explain how to install in the next section.
|
64
|
+
|
65
|
+
To check if you have _Ruby_ available, use the `ruby` command to query the
|
66
|
+
version installed:
|
67
|
+
|
68
|
+
$ ruby --version
|
69
|
+
|
70
|
+
[WARNING]
|
71
|
+
====
|
72
|
+
By default, _Asciidoctor PDF_ automatically installs the latest version of _Prawn_
|
73
|
+
if you don't already have _Prawn_ installed. This will fail on older versions of
|
74
|
+
_Ruby_. To workaround, you need to install certain dependencies first.
|
75
|
+
|
76
|
+
Starting with _Prawn_ 2.0.0, _Prawn_ requires Ruby >= 2.0.0 during installation.
|
77
|
+
Therefore, to use _Asciidoctor PDF_ with Ruby 1.9.3, you must first explicitly
|
78
|
+
install the following dependencies to lock the versions:
|
79
|
+
|
80
|
+
$ gem install prawn --version 1.3.0
|
81
|
+
gem install addressable --version 2.4.0
|
82
|
+
gem install prawn-svg --version 0.21.0
|
83
|
+
gem install prawn-templates --version 0.0.3
|
84
|
+
|
85
|
+
You can then proceed with installation of _Asciidoctor PDF_ on Ruby 1.9.3.
|
86
|
+
|
87
|
+
Starting with _Prawn_ 2.2.0, _Prawn_ requires Ruby >= 2.1.0 during installation.
|
88
|
+
Therefore, to use _Asciidoctor PDF_ with Ruby 2.0.0, you must first explicitly
|
89
|
+
install the following dependencies to lock the versions:
|
90
|
+
|
91
|
+
$ gem install prawn --version 2.1.0
|
92
|
+
gem install prawn-svg --version 0.26.0
|
93
|
+
gem install prawn-templates --version 0.0.4
|
94
|
+
|
95
|
+
For all other versions of _Ruby_, you can simply install the _Asciidoctor PDF_ gem.
|
96
|
+
It will transitively install the required dependencies.
|
97
|
+
====
|
98
|
+
|
99
|
+
==== System Encoding
|
100
|
+
|
101
|
+
_Asciidoctor_ assumes you're using UTF-8 encoding. To minimize encoding problems,
|
102
|
+
make sure the default encoding of your system is set to UTF-8.
|
103
|
+
|
104
|
+
If you're using a non-English Windows environment, the default encoding of your
|
105
|
+
system may not be UTF-8. As a result, you may get an `Encoding::UndefinedConversionError`
|
106
|
+
or other encoding issues when invoking _Asciidoctor_. To solve these problems, we
|
107
|
+
recommend at least changing the active code page in your console to UTF-8.
|
108
|
+
|
109
|
+
chcp 65001
|
110
|
+
|
111
|
+
Once you make this change, all your Unicode headaches will be behind you.
|
@@ -0,0 +1,95 @@
|
|
1
|
+
== Getting Started
|
2
|
+
|
3
|
+
You can get _Asciidoctor PDF_ by installing the published gem or running th
|
4
|
+
code from source.
|
5
|
+
|
6
|
+
=== Install the Published Gem
|
7
|
+
|
8
|
+
_Asciidoctor PDF_ is published as a pre-release on RubyGems.org.
|
9
|
+
First, make sure you have satisfied the prerequisites.
|
10
|
+
Then, you can install the published gem using the following command:
|
11
|
+
|
12
|
+
$ gem install asciidoctor-pdf --pre
|
13
|
+
|
14
|
+
If you want to syntax highlight source listings, you'll also want to install
|
15
|
+
Rouge, Pygments, or CodeRay. Choose one (or more) of the following:
|
16
|
+
|
17
|
+
.Rouge (preferred)
|
18
|
+
$ gem install rouge
|
19
|
+
|
20
|
+
.Pygments
|
21
|
+
$ gem install pygments.rb
|
22
|
+
|
23
|
+
.CodeRay
|
24
|
+
$ gem install coderay
|
25
|
+
|
26
|
+
You then activate syntax highlighting for a given document by adding the
|
27
|
+
`source-highlighter` attribute to the document header (Rouge shown):
|
28
|
+
|
29
|
+
[source,asciidoc]
|
30
|
+
----
|
31
|
+
:source-highlighter: rouge
|
32
|
+
----
|
33
|
+
|
34
|
+
Assuming all the required gems install properly, verify you can run the
|
35
|
+
`asciidoctor-pdf` script:
|
36
|
+
|
37
|
+
$ asciidoctor-pdf -v
|
38
|
+
|
39
|
+
If you see the version of _Asciidoctor PDF_ printed, you're ready to use
|
40
|
+
_Asciidoctor PDF_.
|
41
|
+
|
42
|
+
Let's grab an AsciiDoc document to distill and start putting _Asciidoctor PDF_
|
43
|
+
to use!
|
44
|
+
|
45
|
+
=== An Example AsciiDoc Document
|
46
|
+
|
47
|
+
If you don't already have an AsciiDoc document, you can use the
|
48
|
+
*basic_example.adoc* file found in the examples directory of this
|
49
|
+
project.
|
50
|
+
|
51
|
+
ifeval::[{safe-mode-level} < 20]
|
52
|
+
.000_basic_example.adoc
|
53
|
+
[source,asciidoc]
|
54
|
+
....
|
55
|
+
include::000_basic_example.asciidoc[]
|
56
|
+
....
|
57
|
+
endif::[]
|
58
|
+
|
59
|
+
It's time to convert the AsciiDoc document directly to PDF.
|
60
|
+
|
61
|
+
=== Convert AsciiDoc to PDF
|
62
|
+
|
63
|
+
IMPORTANT: You'll need the `rouge` gem installed to run this example since
|
64
|
+
it uses the `source-highlighter` attribute with the value of `rouge`.
|
65
|
+
|
66
|
+
Converting to PDF is a simple as running the `asciidoctor-pdf` script using
|
67
|
+
_Ruby_ and passing our AsciiDoc document as the first argument.
|
68
|
+
|
69
|
+
$ asciidoctor-pdf 000_basic_example.adoc
|
70
|
+
|
71
|
+
This command is just a shorthand way of running:
|
72
|
+
|
73
|
+
$ asciidoctor -r asciidoctor-pdf -b pdf 000_basic_example.adoc
|
74
|
+
|
75
|
+
The `asciidoctor-pdf` command just saves you from having to remember all those
|
76
|
+
flags. That's why we created it.
|
77
|
+
|
78
|
+
When the script completes, you should see the file *000_basic_example.pdf*
|
79
|
+
in the same directory. Open the *000_basic_example.pdf* file with a PDF
|
80
|
+
viewer to see the result.
|
81
|
+
|
82
|
+
ifdef::backend-html5[]
|
83
|
+
.Example PDF document rendered in a PDF viewer
|
84
|
+
image::/assets/images/pages/asciidoc_skeletons/example-pdf-screenshot.png[Screenshot of PDF document,width=800,scaledwidth=100%]
|
85
|
+
endif::[]
|
86
|
+
|
87
|
+
ifdef::backend-pdf[]
|
88
|
+
.Example PDF document rendered in a PDF viewer
|
89
|
+
image::/assets/images/pages/asciidoc_skeletons/example-pdf-screenshot.png[Screenshot of PDF document,width=800,scaledwidth=100%]
|
90
|
+
endif::[]
|
91
|
+
|
92
|
+
You're also encouraged to try converting the documents in the examples
|
93
|
+
directory to see more of what _Asciidoctor PDF_ can do.
|
94
|
+
|
95
|
+
The pain of the DocBook toolchain should be melting away about now.
|
@@ -0,0 +1,39 @@
|
|
1
|
+
== Themes
|
2
|
+
|
3
|
+
The layout and styling of the PDF is driven by a YAML configuration file. To
|
4
|
+
learn how the theming system works and how to create and apply custom themes,
|
5
|
+
refer to the _Asciidoctor PDF_ Theme Guide. You can use
|
6
|
+
the built-in theme files, which you can find in the *data/themes* directory,
|
7
|
+
as examples.
|
8
|
+
|
9
|
+
=== Support for Non-Latin Languages
|
10
|
+
|
11
|
+
_Asciidoctor_ can process the full range of characters in the UTF-8 character
|
12
|
+
set. That means you can write your document in any language, save the file
|
13
|
+
with UTF-8 encoding, and expect _Asciidoctor_ to convert the text properly.
|
14
|
+
However, you may notice that certain characters for certain languages, such
|
15
|
+
as Chinese, are missing in the PDF. Read on to find out why and how to
|
16
|
+
address it.
|
17
|
+
|
18
|
+
If you're writing in a non-Latin language, you need to use a dedicated theme
|
19
|
+
that provides the necessary fonts. For example, to produce a PDF from a
|
20
|
+
document written in a CJK language such as Chinese, you need to use a CJK
|
21
|
+
theme. You can get such a theme by installing the `asciidoctor-pdf-cjk-kai_gen_gothic`
|
22
|
+
gem. See the {uri-asciidoctor-pdf-cjk-kai_gen_gothic}[asciidoctor-pdf-cjk-kai_gen_gothic, {browser-window--new}]
|
23
|
+
project for detailed instructions.
|
24
|
+
|
25
|
+
Using a dedicated theme is necessary because PDF is a "`bring your own font`"
|
26
|
+
kind of system. In other words, the font you provide must provide glyphs for
|
27
|
+
all the characters. There's no one font that supports all the worlds languages
|
28
|
+
(though some, like Noto Serif, certainly come close). Even if there were such
|
29
|
+
a font, bundling that font with the main gem would make the package enormous.
|
30
|
+
It would also severely limit the style choices in the default theme, which
|
31
|
+
targets Latin-based languages.
|
32
|
+
|
33
|
+
Therefore, we're taking the strategy of creating separate dedicated theme
|
34
|
+
gems that target each language family, such as CJK. The base theme for CJK
|
35
|
+
languages is provided by the {uri-asciidoctor-pdf-cjk}[asciidoctro-pdf-cjk, {browser-window--new}]
|
36
|
+
project and a concrete implementation provided by the
|
37
|
+
{uri-asciidoctor-pdf-cjk-kai_gen_gothic}[asciidoctor-pdf-cjk-kai_gen_gothic, {browser-window--new}]
|
38
|
+
project that's based on the kai_gen_gothic font. Of course, you're free to
|
39
|
+
follow this model and create your own theme gem that uses fonts of your choice.
|
@@ -0,0 +1,122 @@
|
|
1
|
+
== Language Overview
|
2
|
+
|
3
|
+
The theme language in *Asciidoctor PDF* is based on the {uri-wikipedia-yaml}[YAML, {browser-window--new}]
|
4
|
+
data format and incorporates many concepts from CSS and SASS. Therefore, if you
|
5
|
+
have a background in web design, the theme language should be immediately
|
6
|
+
familiar to you.
|
7
|
+
|
8
|
+
Like CSS, themes have both selectors and properties. Selectors are the component
|
9
|
+
you want to style. The properties are the style elements of that component that
|
10
|
+
can be styled. All selector names are implicit (e.g., `heading`), so you
|
11
|
+
customize the theme primarily by manipulating pre-defined property values
|
12
|
+
(e.g., `font_size`).
|
13
|
+
|
14
|
+
[NOTE]
|
15
|
+
====
|
16
|
+
The theme language in *Asciidoctor PDF* supports a limited subset of the
|
17
|
+
properties from CSS. Some of these properties have different names from
|
18
|
+
those found in CSS.
|
19
|
+
|
20
|
+
* Underscores (`_`) can be used in place of hyphens (`-`) for all property names in the theme language.
|
21
|
+
* Instead of separate properties for font weight and font style, the theme language combines these settings in the `font_style` property (allowed values: `normal`, `bold`, `italic` and `bold_italic`).
|
22
|
+
* The `text_align` property from CSS is the `align` property in the theme language.
|
23
|
+
* The `color` property from CSS is the `font_color` property in the theme language.
|
24
|
+
====
|
25
|
+
|
26
|
+
A theme (or style) is described in a YAML-based data format and stored in a
|
27
|
+
dedicated theme file. YAML is a human-friendly data format that resembles CSS
|
28
|
+
and helps to describe the theme. The theme language adds some extra features
|
29
|
+
to YAML, such as variables, basic math, measurements and color values. These
|
30
|
+
enhancements will be explained in detail in later sections.
|
31
|
+
|
32
|
+
The theme file must be named _<name>-theme.yml_, where `<name>` is the name
|
33
|
+
of the theme. Here's an example of a basic theme file:
|
34
|
+
|
35
|
+
.basic-theme.yml
|
36
|
+
[source,yaml]
|
37
|
+
----
|
38
|
+
page:
|
39
|
+
layout: portrait
|
40
|
+
margin: [0.75in, 1in, 0.75in, 1in]
|
41
|
+
size: Letter
|
42
|
+
base:
|
43
|
+
font_color: #333333
|
44
|
+
font_family: Times-Roman
|
45
|
+
font_size: 12
|
46
|
+
line_height_length: 17
|
47
|
+
line_height: $base_line_height_length / $base_font_size
|
48
|
+
vertical_spacing: $base_line_height_length
|
49
|
+
heading:
|
50
|
+
font_color: #262626
|
51
|
+
font_size: 17
|
52
|
+
font_style: bold
|
53
|
+
line_height: 1.2
|
54
|
+
margin_bottom: $vertical_spacing
|
55
|
+
link:
|
56
|
+
font_color: #002FA7
|
57
|
+
outline_list:
|
58
|
+
indent: $base_font_size * 1.5
|
59
|
+
----
|
60
|
+
|
61
|
+
When creating a new theme, you only have to define the keys you want to
|
62
|
+
override from the base theme, which is loaded prior to loading your custom
|
63
|
+
theme. All the available keys are documented in section *Keys*. The converter
|
64
|
+
uses the information from the theme map to help construct the PDF.
|
65
|
+
|
66
|
+
[TIP]
|
67
|
+
====
|
68
|
+
Instead of creating a theme from scratch, another option is to download the
|
69
|
+
{uri-asciidoctor-pdf-default-theme}[default-theme.yml, {browser-window--new}] file from the source
|
70
|
+
repository. Save the file using a unique name (e.g. _custom-theme.yml_) and
|
71
|
+
start hacking on it.
|
72
|
+
|
73
|
+
Alternatively, you can snag the file from your local installation using the
|
74
|
+
following command:
|
75
|
+
|
76
|
+
$ ASCIIDOCTOR_PDF_DIR=`gem contents asciidoctor-pdf --show-install-dir`;\
|
77
|
+
cp "$ASCIIDOCTOR_PDF_DIR/data/themes/default-theme.yml" custom-theme.yml
|
78
|
+
====
|
79
|
+
|
80
|
+
Keys may be nested to an arbitrary depth to eliminate redundant prefixes (an
|
81
|
+
approach inspired by SASS). Once the theme is loaded, all keys are flattened
|
82
|
+
into a single map of qualified keys. Nesting is simply a shorthand way of
|
83
|
+
organizing the keys. In the end, a theme is just a map of key/value pairs.
|
84
|
+
|
85
|
+
Nested keys are adjoined to their parent key with an underscore (`_`).
|
86
|
+
This means the selector part (e.g., `link`) is combined with the property
|
87
|
+
name (e.g., `font_color`) into a single, qualified key (e.g., `link_font_color`).
|
88
|
+
|
89
|
+
For example, let's assume we want to set the base (i.e., global) font size
|
90
|
+
and color. These keys may be written longhand:
|
91
|
+
|
92
|
+
[source,yaml]
|
93
|
+
----
|
94
|
+
base_font_color: #333333
|
95
|
+
base_font_family: Times-Roman
|
96
|
+
base_font_size: 12
|
97
|
+
----
|
98
|
+
|
99
|
+
Or, to avoid having to type the prefix `base_` multiple times, the keys may
|
100
|
+
be written hierarchically:
|
101
|
+
|
102
|
+
[source,yaml]
|
103
|
+
----
|
104
|
+
base:
|
105
|
+
font_color: #333333
|
106
|
+
font_family: Times-Roman
|
107
|
+
font_size: 12
|
108
|
+
----
|
109
|
+
|
110
|
+
Or even:
|
111
|
+
|
112
|
+
[source,yaml]
|
113
|
+
----
|
114
|
+
base:
|
115
|
+
font:
|
116
|
+
color: #333333
|
117
|
+
family: Times-Roman
|
118
|
+
size: 12
|
119
|
+
----
|
120
|
+
|
121
|
+
Each level of nesting must be indented by two more spaces of indentation than
|
122
|
+
the parent level. Also note the presence of the colon after each key name.
|