apex-ruby 1.0.29 → 1.0.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +2 -8
- data/apex-ruby.gemspec +14 -3
- data/ext/apex_ext/apex_src/include/apex/apex.h +11 -2
- data/ext/apex_ext/apex_src/src/apex.c +64 -5
- data/ext/apex_ext/apex_src/src/ast_terminal.c +2 -4
- data/ext/apex_ext/apex_src/src/extensions/callouts.c +103 -63
- data/ext/apex_ext/apex_src/src/extensions/callouts.h +3 -2
- data/ext/apex_ext/apex_src/src/extensions/citations.c +15 -2
- data/ext/apex_ext/apex_src/src/extensions/emoji.c +73 -7
- data/ext/apex_ext/apex_src/src/extensions/html_markdown.c +25 -4
- data/ext/apex_ext/apex_src/src/extensions/html_markdown.h +4 -1
- data/ext/apex_ext/apex_src/src/extensions/insert.c +49 -0
- data/ext/apex_ext/apex_src/src/extensions/metadata.c +275 -55
- data/ext/apex_ext/apex_src/src/extensions/metadata.h +9 -0
- data/ext/apex_ext/apex_src/src/extensions/relaxed_tables.c +172 -254
- data/ext/apex_ext/apex_src/src/extensions/table_html_postprocess.c +36 -127
- data/ext/apex_ext/apex_src/src/html_renderer.c +99 -157
- data/ext/apex_ext/extconf.rb +31 -79
- data/lib/apex/version.rb +1 -1
- metadata +1 -470
- data/ext/apex_ext/apex_src/AGENTS.md +0 -41
- data/ext/apex_ext/apex_src/BENCHMARK.md +0 -32
- data/ext/apex_ext/apex_src/BENCHMARK_COMPARISON.md +0 -67
- data/ext/apex_ext/apex_src/CHANGELOG.md +0 -3373
- data/ext/apex_ext/apex_src/CMakeLists.txt +0 -481
- data/ext/apex_ext/apex_src/Dockerfile.linux-build +0 -15
- data/ext/apex_ext/apex_src/Formula/apex.rb +0 -43
- data/ext/apex_ext/apex_src/Info.plist.in +0 -27
- data/ext/apex_ext/apex_src/Package.swift +0 -192
- data/ext/apex_ext/apex_src/PackageSupport/README.md +0 -17
- data/ext/apex_ext/apex_src/PackageSupport/cmark-gfm/cmark_gfm_spm_stub.c +0 -4
- data/ext/apex_ext/apex_src/README.md +0 -536
- data/ext/apex_ext/apex_src/ROADMAP.md +0 -5
- data/ext/apex_ext/apex_src/VERSION +0 -1
- data/ext/apex_ext/apex_src/apex-debug.log +0 -4
- data/ext/apex_ext/apex_src/apex-header-2-rb@2x.webp +0 -0
- data/ext/apex_ext/apex_src/apex-plugins.json.example +0 -20
- data/ext/apex_ext/apex_src/apex.code-workspace +0 -38
- data/ext/apex_ext/apex_src/apex.pc.in +0 -11
- data/ext/apex_ext/apex_src/apex.taskpaper +0 -12
- data/ext/apex_ext/apex_src/apex_deflist_debug.log +0 -25
- data/ext/apex_ext/apex_src/buildnotes.md +0 -1435
- data/ext/apex_ext/apex_src/cli/main.c +0 -4588
- data/ext/apex_ext/apex_src/debug.log +0 -7
- data/ext/apex_ext/apex_src/debug_test.sh +0 -22
- data/ext/apex_ext/apex_src/docs/API_REFERENCE.md +0 -451
- data/ext/apex_ext/apex_src/docs/ARCHITECTURE.md +0 -166
- data/ext/apex_ext/apex_src/docs/CITATIONS_EXAMPLES.md +0 -274
- data/ext/apex_ext/apex_src/docs/CITATIONS_IMPLEMENTATION_PLAN.md +0 -749
- data/ext/apex_ext/apex_src/docs/CITATIONS_PLAN.md +0 -744
- data/ext/apex_ext/apex_src/docs/CMARK_INTEGRATION.md +0 -220
- data/ext/apex_ext/apex_src/docs/CRITICMARKUP.md +0 -501
- data/ext/apex_ext/apex_src/docs/DEBUGGING.md +0 -73
- data/ext/apex_ext/apex_src/docs/FINAL_STATUS.md +0 -391
- data/ext/apex_ext/apex_src/docs/FINAL_STATUS_UPDATE.md +0 -237
- data/ext/apex_ext/apex_src/docs/IAL_FEATURES.md +0 -210
- data/ext/apex_ext/apex_src/docs/IAL_STATUS.md +0 -344
- data/ext/apex_ext/apex_src/docs/INDEX_IMPLEMENTATION_ANALYSIS.md +0 -382
- data/ext/apex_ext/apex_src/docs/INTEGRATION_EXAMPLE.m +0 -144
- data/ext/apex_ext/apex_src/docs/LIMITATIONS_RESOLVED.md +0 -278
- data/ext/apex_ext/apex_src/docs/OUTPUT_MODES.md +0 -321
- data/ext/apex_ext/apex_src/docs/PROGRESS.md +0 -167
- data/ext/apex_ext/apex_src/docs/STANDALONE_FEATURE.md +0 -174
- data/ext/apex_ext/apex_src/docs/TABLE_SPANS_STATUS.md +0 -243
- data/ext/apex_ext/apex_src/docs/TEST_COVERAGE.md +0 -316
- data/ext/apex_ext/apex_src/docs/USER_GUIDE.md +0 -803
- data/ext/apex_ext/apex_src/docs/WIKI_LINKS_ISSUE.md +0 -91
- data/ext/apex_ext/apex_src/docs/index.md +0 -459
- data/ext/apex_ext/apex_src/docs/plans/2025-02-27-man-page-output-implementation.md +0 -351
- data/ext/apex_ext/apex_src/docs/superpowers/plans/2026-07-12-toc-output-format.md +0 -745
- data/ext/apex_ext/apex_src/docs/superpowers/plans/2026-07-18-bear-image-attributes.md +0 -829
- data/ext/apex_ext/apex_src/docs/superpowers/plans/2026-07-19-apex-node-npm.md +0 -1148
- data/ext/apex_ext/apex_src/docs/superpowers/specs/2026-07-12-toc-output-format-design.md +0 -161
- data/ext/apex_ext/apex_src/docs/superpowers/specs/2026-07-18-bear-image-attributes-design.md +0 -184
- data/ext/apex_ext/apex_src/docs/superpowers/specs/2026-07-19-apex-node-npm-design.md +0 -211
- data/ext/apex_ext/apex_src/documentation/README.md +0 -160
- data/ext/apex_ext/apex_src/documentation/app-settings-table.md +0 -67
- data/ext/apex_ext/apex_src/documentation/app-transformed/Citations.md +0 -340
- data/ext/apex_ext/apex_src/documentation/app-transformed/Credits.md +0 -11
- data/ext/apex_ext/apex_src/documentation/app-transformed/Header-IDs.md +0 -234
- data/ext/apex_ext/apex_src/documentation/app-transformed/Inline-Attribute-Lists.md +0 -516
- data/ext/apex_ext/apex_src/documentation/app-transformed/Metadata-Transforms.md +0 -461
- data/ext/apex_ext/apex_src/documentation/app-transformed/Modes.md +0 -193
- data/ext/apex_ext/apex_src/documentation/app-transformed/Multi-File-Documents.md +0 -201
- data/ext/apex_ext/apex_src/documentation/app-transformed/Plugins.md +0 -678
- data/ext/apex_ext/apex_src/documentation/app-transformed/Syntax.md +0 -1367
- data/ext/apex_ext/apex_src/documentation/docsets/Apex Command Line Options.cheatsheet.txt +0 -371
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Info.plist +0 -24
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/C-API.html +0 -2211
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Callouts.html +0 -1194
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Citations.html +0 -1620
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Command-Line-Options.html +0 -6024
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Configuration.html +0 -1877
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Credits.html +0 -1040
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Examples.html +0 -1402
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Filters.html +0 -1656
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Generating-Man-Pages.html +0 -1226
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Getting-Started.html +0 -1148
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Header-IDs.html +0 -1478
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Home.html +0 -1225
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Indices.html +0 -2327
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Inline-Attribute-Lists.html +0 -2041
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Installation.html +0 -1314
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Limitations-and-Roadmap.html +0 -1868
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Metadata-Transforms.html +0 -1731
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Modes.html +0 -2242
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Multi-File-Documents.html +0 -1533
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Multi-Format-Images.html +0 -1362
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Pandoc-Integration.html +0 -1338
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Plugins.html +0 -3188
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Quarto-Mode.html +0 -1405
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Rendering-Markdown-In-Terminal.html +0 -1902
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Syntax.html +0 -4222
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Tables.html +0 -1781
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Troubleshooting.html +0 -1629
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Usage.html +0 -1394
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Using-Apex-with-Jekyll.html +0 -1132
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Writing-Tests.html +0 -1754
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Xcode-Integration.html +0 -2562
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/docSet.dsidx +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/optimizedIndex.dsidx +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Info.plist +0 -22
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans.woff +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Bold.woff +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Bold_Italic.woff +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Extrabold.woff +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Extrabold_Italic.woff +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Italic.woff +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Semibold.woff +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Semibold_Italic.woff +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/index.html +0 -914
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/style.css +0 -399
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/docSet.dsidx +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/optimizedIndex.dsidx +0 -0
- data/ext/apex_ext/apex_src/documentation/generate_app_docs.rb +0 -772
- data/ext/apex_ext/apex_src/documentation/generate_app_docs_ai.rb +0 -678
- data/ext/apex_ext/apex_src/documentation/generate_docset.rb +0 -873
- data/ext/apex_ext/apex_src/documentation/generate_single_html.rb +0 -733
- data/ext/apex_ext/apex_src/documentation/html/apex-app-docs.html +0 -8746
- data/ext/apex_ext/apex_src/documentation/html/apex-docs.html +0 -17073
- data/ext/apex_ext/apex_src/documentation/shared_scripts.js +0 -64
- data/ext/apex_ext/apex_src/documentation/shared_styles.css +0 -651
- data/ext/apex_ext/apex_src/documentation/transform_for_app.example.md +0 -260
- data/ext/apex_ext/apex_src/documentation/transform_for_app.md +0 -55
- data/ext/apex_ext/apex_src/escaping-repro.md +0 -103
- data/ext/apex_ext/apex_src/examples/bracketed_spans_demo.md +0 -119
- data/ext/apex_ext/apex_src/examples/emoji_span_plugin.yml +0 -11
- data/ext/apex_ext/apex_src/examples/example.html +0 -53
- data/ext/apex_ext/apex_src/examples/example.md +0 -85
- data/ext/apex_ext/apex_src/examples/fenced_divs_demo.md +0 -158
- data/ext/apex_ext/apex_src/examples/kbd.md +0 -8
- data/ext/apex_ext/apex_src/examples/kbd_plugin.rb +0 -250
- data/ext/apex_ext/apex_src/examples/kbd_plugin.yml +0 -9
- data/ext/apex_ext/apex_src/examples/quick-actions/Markdown to RTF.workflow/Contents/Info.plist +0 -8
- data/ext/apex_ext/apex_src/examples/quick-actions/Markdown to RTF.workflow/Contents/QuickLook/Preview.png +0 -0
- data/ext/apex_ext/apex_src/examples/quick-actions/Markdown to RTF.workflow/Contents/document.wflow +0 -547
- data/ext/apex_ext/apex_src/examples/quick-actions/Markdown-to-RTF.workflow.zip +0 -0
- data/ext/apex_ext/apex_src/examples/quick-actions/README.md +0 -33
- data/ext/apex_ext/apex_src/ial.html +0 -24
- data/ext/apex_ext/apex_src/icon/apexicon-outline-black.png +0 -0
- data/ext/apex_ext/apex_src/icon/apexicon-outline-black@2x.png +0 -0
- data/ext/apex_ext/apex_src/icon/apexicon-outline-mark.png +0 -0
- data/ext/apex_ext/apex_src/icon/apexicon-outline-mark@2x.png +0 -0
- data/ext/apex_ext/apex_src/icon/apexicon-outline-white.png +0 -0
- data/ext/apex_ext/apex_src/icon/apexicon-outline-white@2x.png +0 -0
- data/ext/apex_ext/apex_src/icon/apexicon.png +0 -0
- data/ext/apex_ext/apex_src/icon/apexicon@2x.png +0 -0
- data/ext/apex_ext/apex_src/man/apex-config.5 +0 -455
- data/ext/apex_ext/apex_src/man/apex-config.5.md +0 -262
- data/ext/apex_ext/apex_src/man/apex-plugins.7 +0 -541
- data/ext/apex_ext/apex_src/man/apex-plugins.7.md +0 -365
- data/ext/apex_ext/apex_src/man/apex.1 +0 -583
- data/ext/apex_ext/apex_src/man/apex.1.html +0 -703
- data/ext/apex_ext/apex_src/man/apex.1.md +0 -803
- data/ext/apex_ext/apex_src/man/apex.1.new +0 -338
- data/ext/apex_ext/apex_src/objc/Apex.swift +0 -316
- data/ext/apex_ext/apex_src/objc/ApexPlugins.swift +0 -79
- data/ext/apex_ext/apex_src/objc/NSString+Apex.h +0 -207
- data/ext/apex_ext/apex_src/objc/NSString+Apex.m +0 -584
- data/ext/apex_ext/apex_src/objc/NSString+ApexPlugins.h +0 -76
- data/ext/apex_ext/apex_src/objc/NSString+ApexPlugins.m +0 -169
- data/ext/apex_ext/apex_src/output.html +0 -87
- data/ext/apex_ext/apex_src/pages/index.md +0 -459
- data/ext/apex_ext/apex_src/plans/quarto-mode.md +0 -442
- data/ext/apex_ext/apex_src/src/_README.md +0 -413
- data/ext/apex_ext/apex_src/src/extensions/github-emoji.txt +0 -869
- data/ext/apex_ext/apex_src/test-linux-build.sh +0 -20
- data/ext/apex_ext/apex_src/test.html +0 -103
- data/ext/apex_ext/apex_src/test_coverage.sh +0 -121
- data/ext/apex_ext/apex_src/test_ial_fenced.md +0 -6
- data/ext/apex_ext/apex_src/test_math_norm.py +0 -79
- data/ext/apex_ext/apex_src/test_pandoc_output.html +0 -48
- data/ext/apex_ext/apex_src/test_spm.sh +0 -107
- data/ext/apex_ext/apex_src/tests/ApexSPMTest/main.swift +0 -50
- data/ext/apex_ext/apex_src/tests/BENCHMARK_RESULTS.md +0 -229
- data/ext/apex_ext/apex_src/tests/CMakeLists.txt +0 -25
- data/ext/apex_ext/apex_src/tests/README.md +0 -152
- data/ext/apex_ext/apex_src/tests/benchmark.sh +0 -113
- data/ext/apex_ext/apex_src/tests/benchmark_comparison.sh +0 -166
- data/ext/apex_ext/apex_src/tests/compare_header_ids.sh +0 -31
- data/ext/apex_ext/apex_src/tests/fixtures/basic/headers.md +0 -25
- data/ext/apex_ext/apex_src/tests/fixtures/basic/list-interruption.md +0 -24
- data/ext/apex_ext/apex_src/tests/fixtures/basic/misc_markup.md +0 -33
- data/ext/apex_ext/apex_src/tests/fixtures/basic/test_basic.md +0 -26
- data/ext/apex_ext/apex_src/tests/fixtures/code/code-blocks.md +0 -260
- data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/SUMMARY.md +0 -6
- data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/chapter1.md +0 -7
- data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/index.txt +0 -9
- data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/intro.md +0 -5
- data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/section1_1.md +0 -5
- data/ext/apex_ext/apex_src/tests/fixtures/comprehensive_test.md +0 -652
- data/ext/apex_ext/apex_src/tests/fixtures/debug_ref_image_ial.md +0 -3
- data/ext/apex_ext/apex_src/tests/fixtures/demos/ial.md +0 -11
- data/ext/apex_ext/apex_src/tests/fixtures/demos/ial_demo.md +0 -177
- data/ext/apex_ext/apex_src/tests/fixtures/extensions/emoji-autocorrect.md +0 -94
- data/ext/apex_ext/apex_src/tests/fixtures/extensions/emoji_test.md +0 -3
- data/ext/apex_ext/apex_src/tests/fixtures/extensions/kbd_test.md +0 -3
- data/ext/apex_ext/apex_src/tests/fixtures/filters/filter_output_with_rawblock.json +0 -1
- data/ext/apex_ext/apex_src/tests/fixtures/filters/unwrap.md +0 -7
- data/ext/apex_ext/apex_src/tests/fixtures/ial/bracketed_spans_test.md +0 -74
- data/ext/apex_ext/apex_src/tests/fixtures/images/auto-wildcard.md +0 -8
- data/ext/apex_ext/apex_src/tests/fixtures/images/bear_image_attributes.md +0 -10
- data/ext/apex_ext/apex_src/tests/fixtures/images/image_and_encoding_test.md +0 -27
- data/ext/apex_ext/apex_src/tests/fixtures/images/img/app-pass-1-profile-menu.avif +0 -0
- data/ext/apex_ext/apex_src/tests/fixtures/images/img/app-pass-1-profile-menu.jpg +0 -0
- data/ext/apex_ext/apex_src/tests/fixtures/images/img/app-pass-1-profile-menu.webp +0 -0
- data/ext/apex_ext/apex_src/tests/fixtures/images/img/app-pass-1-profile-menu@2x.avif +0 -0
- data/ext/apex_ext/apex_src/tests/fixtures/images/img/app-pass-1-profile-menu@2x.jpg +0 -0
- data/ext/apex_ext/apex_src/tests/fixtures/images/img/app-pass-1-profile-menu@2x.webp +0 -0
- data/ext/apex_ext/apex_src/tests/fixtures/images/media_formats_test.md +0 -63
- data/ext/apex_ext/apex_src/tests/fixtures/images/multimarkdown_image_attributes_test.md +0 -60
- data/ext/apex_ext/apex_src/tests/fixtures/images/pandoc_ial_image_test.md +0 -27
- data/ext/apex_ext/apex_src/tests/fixtures/images/width_height_conversion_test.md +0 -94
- data/ext/apex_ext/apex_src/tests/fixtures/img-in-div.md +0 -16
- data/ext/apex_ext/apex_src/tests/fixtures/includes/code.py +0 -4
- data/ext/apex_ext/apex_src/tests/fixtures/includes/data-semi.csv +0 -3
- data/ext/apex_ext/apex_src/tests/fixtures/includes/data.csv +0 -5
- data/ext/apex_ext/apex_src/tests/fixtures/includes/data.tsv +0 -5
- data/ext/apex_ext/apex_src/tests/fixtures/includes/image.png +0 -2
- data/ext/apex_ext/apex_src/tests/fixtures/includes/metadata_options.yml +0 -11
- data/ext/apex_ext/apex_src/tests/fixtures/includes/nested.md +0 -8
- data/ext/apex_ext/apex_src/tests/fixtures/includes/raw.html +0 -4
- data/ext/apex_ext/apex_src/tests/fixtures/includes/sections.md +0 -19
- data/ext/apex_ext/apex_src/tests/fixtures/includes/sections.txt +0 -11
- data/ext/apex_ext/apex_src/tests/fixtures/includes/simple.md +0 -7
- data/ext/apex_ext/apex_src/tests/fixtures/includes/test_image.png +0 -0
- data/ext/apex_ext/apex_src/tests/fixtures/includes/with space.txt +0 -1
- data/ext/apex_ext/apex_src/tests/fixtures/large_doc.md +0 -1094
- data/ext/apex_ext/apex_src/tests/fixtures/metadata/mmd-metadata.md +0 -5
- data/ext/apex_ext/apex_src/tests/fixtures/metadata/pandoc-meta.md +0 -4
- data/ext/apex_ext/apex_src/tests/fixtures/metadata/yaml-frontmatter.md +0 -6
- data/ext/apex_ext/apex_src/tests/fixtures/metadata_options.yml +0 -11
- data/ext/apex_ext/apex_src/tests/fixtures/minimal_pb.md +0 -2
- data/ext/apex_ext/apex_src/tests/fixtures/obsidian-callouts.md +0 -46
- data/ext/apex_ext/apex_src/tests/fixtures/output/gfm_header_id_test.md +0 -96
- data/ext/apex_ext/apex_src/tests/fixtures/output/test_citations.md +0 -43
- data/ext/apex_ext/apex_src/tests/fixtures/output/test_def_list_links.md +0 -12
- data/ext/apex_ext/apex_src/tests/fixtures/output/test_index_mmark.md +0 -53
- data/ext/apex_ext/apex_src/tests/fixtures/output/test_index_textindex.md +0 -37
- data/ext/apex_ext/apex_src/tests/fixtures/pagebreak_html_repro.md +0 -5
- data/ext/apex_ext/apex_src/tests/fixtures/python-callouts.md +0 -47
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/callouts.md +0 -3
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/code-attrs.md +0 -3
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/diagrams.md +0 -8
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/lists.md +0 -19
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/raw-content.md +0 -5
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/shortcodes.md +0 -7
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/smoke.md +0 -81
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/spans.md +0 -5
- data/ext/apex_ext/apex_src/tests/fixtures/quarto-callouts.md +0 -47
- data/ext/apex_ext/apex_src/tests/fixtures/speed.md +0 -192
- data/ext/apex_ext/apex_src/tests/fixtures/tables/advanced_tables_test.md +0 -93
- data/ext/apex_ext/apex_src/tests/fixtures/tables/grid-tables.md +0 -37
- data/ext/apex_ext/apex_src/tests/fixtures/tables/inline_tables_test.md +0 -41
- data/ext/apex_ext/apex_src/tests/fixtures/tables/relaxed-table.md +0 -12
- data/ext/apex_ext/apex_src/tests/fixtures/tables/table_cr_line_endings.md +0 -15
- data/ext/apex_ext/apex_src/tests/fixtures/tables/table_no_trailing_newline.md +0 -15
- data/ext/apex_ext/apex_src/tests/generate_gfm_ids.sh +0 -105
- data/ext/apex_ext/apex_src/tests/generate_ial_demo.sh +0 -143
- data/ext/apex_ext/apex_src/tests/gfm_id_comparison_summary.md +0 -96
- data/ext/apex_ext/apex_src/tests/gh_api_test.md +0 -6
- data/ext/apex_ext/apex_src/tests/ial_demo.html +0 -186
- data/ext/apex_ext/apex_src/tests/include_code.py +0 -19
- data/ext/apex_ext/apex_src/tests/include_snippet.md +0 -15
- data/ext/apex_ext/apex_src/tests/metadata_cli_test.sh +0 -119
- data/ext/apex_ext/apex_src/tests/multi_file_cli_test.sh +0 -64
- data/ext/apex_ext/apex_src/tests/paginate_cli_test.sh +0 -80
- data/ext/apex_ext/apex_src/tests/sample_data.csv +0 -7
- data/ext/apex_ext/apex_src/tests/table_escaped_ltlt.md +0 -4
- data/ext/apex_ext/apex_src/tests/terminal_width_test.sh +0 -29
- data/ext/apex_ext/apex_src/tests/test-swift-package.sh +0 -14
- data/ext/apex_ext/apex_src/tests/test_basic.c +0 -74
- data/ext/apex_ext/apex_src/tests/test_bear_image_attrs.c +0 -301
- data/ext/apex_ext/apex_src/tests/test_cmark_callback.c +0 -189
- data/ext/apex_ext/apex_src/tests/test_concordance.tsv +0 -4
- data/ext/apex_ext/apex_src/tests/test_custom_plugins.c +0 -78
- data/ext/apex_ext/apex_src/tests/test_escaping_repro.c +0 -82
- data/ext/apex_ext/apex_src/tests/test_extensions.c +0 -3337
- data/ext/apex_ext/apex_src/tests/test_helpers.c +0 -183
- data/ext/apex_ext/apex_src/tests/test_helpers.h +0 -91
- data/ext/apex_ext/apex_src/tests/test_ial.c +0 -289
- data/ext/apex_ext/apex_src/tests/test_links.c +0 -418
- data/ext/apex_ext/apex_src/tests/test_marked_integration.c +0 -290
- data/ext/apex_ext/apex_src/tests/test_metadata.c +0 -1147
- data/ext/apex_ext/apex_src/tests/test_output.c +0 -2056
- data/ext/apex_ext/apex_src/tests/test_plugins.c +0 -219
- data/ext/apex_ext/apex_src/tests/test_refs.bib +0 -31
- data/ext/apex_ext/apex_src/tests/test_runner.c +0 -268
- data/ext/apex_ext/apex_src/tests/test_syntax_highlight.c +0 -198
- data/ext/apex_ext/apex_src/tests/test_tables.c +0 -1298
- data/ext/apex_ext/apex_src/tests/update_benchmarks.sh +0 -9
- data/ext/apex_ext/apex_src/tests/yaml_test.md +0 -13
- data/ext/apex_ext/apex_src/tests.rb +0 -39
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/CMakeLists.txt +0 -48
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/CheckFileOffsetBits.c +0 -14
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/CheckFileOffsetBits.cmake +0 -43
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/FindAsan.cmake +0 -74
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/Makefile.nmake +0 -38
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/README.md +0 -206
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/CMakeLists.txt +0 -30
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/cplusplus.cpp +0 -15
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/cplusplus.h +0 -16
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/harness.c +0 -111
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/harness.h +0 -35
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/main.c +0 -1169
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/appveyor.yml +0 -21
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-bq-flat.md +0 -16
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-bq-nested.md +0 -13
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-code.md +0 -11
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-fences.md +0 -14
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-heading.md +0 -9
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-hr.md +0 -10
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-html.md +0 -32
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-lheading.md +0 -8
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-list-flat.md +0 -67
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-list-nested.md +0 -36
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-ref-flat.md +0 -15
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-ref-nested.md +0 -17
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-autolink.md +0 -14
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-backticks.md +0 -3
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-em-flat.md +0 -5
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-em-nested.md +0 -5
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-em-worst.md +0 -5
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-entity.md +0 -11
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-escape.md +0 -15
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-html.md +0 -44
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-links-flat.md +0 -23
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-links-nested.md +0 -13
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-newlines.md +0 -24
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/lorem1.md +0 -13
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/rawtabs.md +0 -18
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/statistics.py +0 -595
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/stats.py +0 -19
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/benchmarks.md +0 -33
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/changelog.txt +0 -1245
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/data/CaseFolding.txt +0 -1495
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/CMakeLists.txt +0 -119
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/ext_scanners.re +0 -92
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/CMakeLists.txt +0 -22
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/README.md +0 -12
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/fuzz_quadratic.c +0 -91
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/fuzz_quadratic_brackets.c +0 -110
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/fuzzloop.sh +0 -28
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/man/CMakeLists.txt +0 -10
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/man/make_man_page.py +0 -133
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/man/man1/cmark-gfm.1 +0 -78
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/man/man3/cmark-gfm.3 +0 -1041
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/nmake.bat +0 -1
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/CMakeLists.txt +0 -230
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/cmark-gfm_version.h.in +0 -7
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/config.h +0 -38
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/config.h.in +0 -76
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/libcmark-gfm.pc.in +0 -10
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/scanners.re +0 -365
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/suppressions +0 -10
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/CMakeLists.txt +0 -114
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/__pycache__/cmark.cpython-314.pyc +0 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/__pycache__/normalize.cpython-314.pyc +0 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/afl_test_cases/test.md +0 -49
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/cmark-fuzz.c +0 -58
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/cmark.py +0 -105
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/entity_tests.py +0 -67
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/extensions-full-info-string.txt +0 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/extensions-table-prefer-style-attributes.txt +0 -38
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/extensions.txt +0 -989
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/fuzzing_dictionary +0 -67
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/normalize.py +0 -194
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/pathological_tests.py +0 -160
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/regression.txt +0 -375
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/roundtrip_tests.py +0 -50
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/run-cmark-fuzz +0 -4
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/smart_punct.txt +0 -177
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/spec.txt +0 -10212
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/spec_tests.py +0 -152
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/toolchain-mingw32.cmake +0 -17
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/Dockerfile +0 -41
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/appveyor-build.bat +0 -13
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/make_entities_inc.py +0 -32
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/mkcasefold.pl +0 -22
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/xml2md.xsl +0 -319
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/xml2md_gfm.xsl +0 -80
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/why-cmark-and-not-x.md +0 -104
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/wrappers/wrapper.js +0 -6
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/wrappers/wrapper.py +0 -37
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/wrappers/wrapper.rb +0 -15
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/wrappers/wrapper.rkt +0 -208
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/wrappers/wrapper_ext.py +0 -109
- data/ext/apex_ext/apex_src/vendor/libyaml/CMakeLists.txt +0 -160
- data/ext/apex_ext/apex_src/vendor/libyaml/Changes +0 -372
- data/ext/apex_ext/apex_src/vendor/libyaml/License +0 -20
- data/ext/apex_ext/apex_src/vendor/libyaml/Makefile.am +0 -51
- data/ext/apex_ext/apex_src/vendor/libyaml/ReadMe.md +0 -46
- data/ext/apex_ext/apex_src/vendor/libyaml/announcement.msg +0 -89
- data/ext/apex_ext/apex_src/vendor/libyaml/bootstrap +0 -3
- data/ext/apex_ext/apex_src/vendor/libyaml/cmake/config.h.in +0 -4
- data/ext/apex_ext/apex_src/vendor/libyaml/configure.ac +0 -73
- data/ext/apex_ext/apex_src/vendor/libyaml/doc/doxygen.cfg +0 -222
- data/ext/apex_ext/apex_src/vendor/libyaml/docker/README.mkd +0 -17
- data/ext/apex_ext/apex_src/vendor/libyaml/docker/alpine-3.7 +0 -26
- data/ext/apex_ext/apex_src/vendor/libyaml/docker/fedora-25 +0 -26
- data/ext/apex_ext/apex_src/vendor/libyaml/docker/ubuntu-14.04 +0 -29
- data/ext/apex_ext/apex_src/vendor/libyaml/docker/ubuntu-16.04 +0 -24
- data/ext/apex_ext/apex_src/vendor/libyaml/examples/anchors.yaml +0 -10
- data/ext/apex_ext/apex_src/vendor/libyaml/examples/array.yaml +0 -2
- data/ext/apex_ext/apex_src/vendor/libyaml/examples/global-tag.yaml +0 -14
- data/ext/apex_ext/apex_src/vendor/libyaml/examples/json.yaml +0 -1
- data/ext/apex_ext/apex_src/vendor/libyaml/examples/mapping.yaml +0 -2
- data/ext/apex_ext/apex_src/vendor/libyaml/examples/numbers.yaml +0 -1
- data/ext/apex_ext/apex_src/vendor/libyaml/examples/strings.yaml +0 -7
- data/ext/apex_ext/apex_src/vendor/libyaml/examples/tags.yaml +0 -7
- data/ext/apex_ext/apex_src/vendor/libyaml/examples/yaml-version.yaml +0 -3
- data/ext/apex_ext/apex_src/vendor/libyaml/include/Makefile.am +0 -17
- data/ext/apex_ext/apex_src/vendor/libyaml/include/yaml.h +0 -1999
- data/ext/apex_ext/apex_src/vendor/libyaml/pkg/ReadMe.md +0 -77
- data/ext/apex_ext/apex_src/vendor/libyaml/pkg/docker/Dockerfile +0 -32
- data/ext/apex_ext/apex_src/vendor/libyaml/pkg/docker/output/ReadMe +0 -1
- data/ext/apex_ext/apex_src/vendor/libyaml/pkg/docker/scripts/libyaml-dist.sh +0 -23
- data/ext/apex_ext/apex_src/vendor/libyaml/regression-inputs/clusterfuzz-testcase-minimized-5607885063061504.yml +0 -1
- data/ext/apex_ext/apex_src/vendor/libyaml/src/Makefile.am +0 -4
- data/ext/apex_ext/apex_src/vendor/libyaml/src/api.c +0 -1393
- data/ext/apex_ext/apex_src/vendor/libyaml/src/dumper.c +0 -394
- data/ext/apex_ext/apex_src/vendor/libyaml/src/emitter.c +0 -2358
- data/ext/apex_ext/apex_src/vendor/libyaml/src/loader.c +0 -544
- data/ext/apex_ext/apex_src/vendor/libyaml/src/parser.c +0 -1416
- data/ext/apex_ext/apex_src/vendor/libyaml/src/reader.c +0 -469
- data/ext/apex_ext/apex_src/vendor/libyaml/src/scanner.c +0 -3598
- data/ext/apex_ext/apex_src/vendor/libyaml/src/writer.c +0 -141
- data/ext/apex_ext/apex_src/vendor/libyaml/src/yaml_private.h +0 -684
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/CMakeLists.txt +0 -27
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/Makefile.am +0 -9
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/ReadMe.md +0 -63
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/example-deconstructor-alt.c +0 -800
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/example-deconstructor.c +0 -1127
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/example-reformatter-alt.c +0 -217
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/example-reformatter.c +0 -202
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-all-tests.sh +0 -29
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-dumper.c +0 -314
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-emitter-test-suite.c +0 -290
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-emitter.c +0 -327
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-loader.c +0 -63
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-parser-test-suite.c +0 -196
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-parser.c +0 -88
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-scanner.c +0 -63
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/test-reader.c +0 -354
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/test-version.c +0 -29
- data/ext/apex_ext/apex_src/vendor/libyaml/yaml-0.1.pc.in +0 -10
- data/ext/apex_ext/apex_src/vendor/libyaml/yamlConfig.cmake.in +0 -16
- data/ext/apex_ext/apex_src/xcode_build/CMakeScripts/ReRunCMake.make +0 -74
- data/ext/apex_ext/apex_src/xcode_build/CTestTestfile.cmake +0 -22
- data/ext/apex_ext/apex_src/xcode_build/Debug/Apex.framework/Versions/A/Apex +0 -0
- data/ext/apex_ext/apex_src/xcode_build/Debug/Apex.framework/Versions/A/Resources/Info.plist +0 -44
- data/ext/apex_ext/apex_src/xcode_build/Debug/Apex.framework/Versions/A/_CodeSignature/CodeResources +0 -128
- data/ext/apex_ext/apex_src/xcode_build/apex.xcodeproj/project.pbxproj +0 -5118
- data/ext/apex_ext/apex_src/xcode_build/apex.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +0 -8
- data/ext/apex_ext/apex_src/xcode_build/apex.xcodeproj/project.xcworkspace/xcuserdata/ttscoff.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- data/ext/apex_ext/apex_src/xcode_build/apex.xcodeproj/project.xcworkspace/xcuserdata/ttscoff.xcuserdatad/WorkspaceSettings.xcsettings +0 -8
- data/ext/apex_ext/apex_src/xcode_build/apex.xcodeproj/xcuserdata/ttscoff.xcuserdatad/xcschemes/xcschememanagement.plist +0 -99
- data/ext/apex_ext/apex_src/xcode_build/cmake_install.cmake +0 -452
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/CMakeScripts/ReRunCMake.make +0 -52
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/cmake_install.cmake +0 -55
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/cmark-gfm.xcodeproj/project.pbxproj +0 -2455
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/cmark-gfm.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +0 -8
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/extensions/cmake_install.cmake +0 -171
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/man/cmake_install.cmake +0 -55
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/src/cmake_install.cmake +0 -220
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/src/cmark-gfm_export.h +0 -43
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/src/cmark-gfm_version.h +0 -7
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/src/config.h +0 -76
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/src/libcmark-gfm.pc +0 -10
|
@@ -1,2041 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
|
|
4
|
-
<head>
|
|
5
|
-
|
|
6
|
-
<meta charset="UTF-8">
|
|
7
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
8
|
-
<meta name="generator" content="Apex 1.1.12">
|
|
9
|
-
<title>Document</title>
|
|
10
|
-
<style>
|
|
11
|
-
/* GitHub-style syntax highlighting for Pygments and Skylighting */
|
|
12
|
-
/* Don't apply background to wrapper when code highlighting is enabled - let default styles handle it */
|
|
13
|
-
.code-highlighted .highlight, .code-highlighted .sourceCode { background: inherit; border-radius: 6px; padding: 16px; overflow-x: auto; }
|
|
14
|
-
.highlight pre, .sourceCode pre { margin: 0; padding: 0; background: transparent; }
|
|
15
|
-
.highlight code, .sourceCode code { font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace; font-size: 12px; line-height: 1.45; }
|
|
16
|
-
/* Pygments classes */
|
|
17
|
-
.highlight .k { color: #d73a49; font-weight: 600; } /* Keyword */
|
|
18
|
-
.highlight .kt { color: #d73a49; } /* Keyword.Type */
|
|
19
|
-
.highlight .kd { color: #d73a49; font-weight: 600; } /* Keyword.Declaration */
|
|
20
|
-
.highlight .kn { color: #d73a49; } /* Keyword.Namespace */
|
|
21
|
-
.highlight .kp { color: #d73a49; } /* Keyword.Pseudo */
|
|
22
|
-
.highlight .kr { color: #d73a49; font-weight: 600; } /* Keyword.Reserved */
|
|
23
|
-
.highlight .n { color: #6f42c1; } /* Name */
|
|
24
|
-
.highlight .na { color: #6f42c1; } /* Name.Attribute */
|
|
25
|
-
.highlight .nc { color: #6f42c1; font-weight: 600; } /* Name.Class */
|
|
26
|
-
.highlight .no { color: #005cc5; } /* Name.Constant */
|
|
27
|
-
.highlight .nd { color: #6f42c1; font-weight: 600; } /* Name.Decorator */
|
|
28
|
-
.highlight .ni { color: #800080; } /* Name.Entity */
|
|
29
|
-
.highlight .ne { color: #990000; font-weight: 600; } /* Name.Exception */
|
|
30
|
-
.highlight .nf { color: #6f42c1; font-weight: 600; } /* Name.Function */
|
|
31
|
-
.highlight .nl { color: #6f42c1; } /* Name.Label */
|
|
32
|
-
.highlight .nn { color: #555; } /* Name.Namespace */
|
|
33
|
-
.highlight .nt { color: #22863a; } /* Name.Tag */
|
|
34
|
-
.highlight .nv { color: #e36209; } /* Name.Variable */
|
|
35
|
-
.highlight .s { color: #032f62; } /* String */
|
|
36
|
-
.highlight .sb { color: #032f62; } /* String.Backtick */
|
|
37
|
-
.highlight .sc { color: #032f62; } /* String.Char */
|
|
38
|
-
.highlight .sd { color: #032f62; } /* String.Doc */
|
|
39
|
-
.highlight .s2 { color: #032f62; } /* String.Double */
|
|
40
|
-
.highlight .se { color: #032f62; } /* String.Escape */
|
|
41
|
-
.highlight .sh { color: #032f62; } /* String.Heredoc */
|
|
42
|
-
.highlight .si { color: #032f62; } /* String.Interpol */
|
|
43
|
-
.highlight .sx { color: #032f62; } /* String.Other */
|
|
44
|
-
.highlight .sr { color: #032f62; } /* String.Regex */
|
|
45
|
-
.highlight .s1 { color: #032f62; } /* String.Single */
|
|
46
|
-
.highlight .ss { color: #032f62; } /* String.Symbol */
|
|
47
|
-
.highlight .c { color: #6a737d; font-style: italic; } /* Comment */
|
|
48
|
-
.highlight .c1 { color: #6a737d; font-style: italic; } /* Comment.Single */
|
|
49
|
-
.highlight .cm { color: #6a737d; font-style: italic; } /* Comment.Multiline */
|
|
50
|
-
.highlight .cp { color: #6a737d; font-weight: 600; } /* Comment.Preproc */
|
|
51
|
-
.highlight .cs { color: #6a737d; font-weight: 600; font-style: italic; } /* Comment.Special */
|
|
52
|
-
.highlight .m { color: #005cc5; } /* Literal.Number */
|
|
53
|
-
.highlight .mb { color: #005cc5; } /* Literal.Number.Bin */
|
|
54
|
-
.highlight .mf { color: #005cc5; } /* Literal.Number.Float */
|
|
55
|
-
.highlight .mh { color: #005cc5; } /* Literal.Number.Hex */
|
|
56
|
-
.highlight .mi { color: #005cc5; } /* Literal.Number.Integer */
|
|
57
|
-
.highlight .il { color: #005cc5; } /* Literal.Number.Integer.Long */
|
|
58
|
-
.highlight .mo { color: #005cc5; } /* Literal.Number.Oct */
|
|
59
|
-
.highlight .o { color: #d73a49; } /* Operator */
|
|
60
|
-
.highlight .ow { color: #d73a49; } /* Operator.Word */
|
|
61
|
-
.highlight .p { color: #24292e; } /* Punctuation */
|
|
62
|
-
.highlight .w { color: #e1e4e8; } /* Text.Whitespace */
|
|
63
|
-
/* Skylighting classes */
|
|
64
|
-
.sourceCode .kw { color: #d73a49; font-weight: 600; } /* Keyword */
|
|
65
|
-
.sourceCode .dt { color: #6f42c1; } /* DataType */
|
|
66
|
-
.sourceCode .dv { color: #005cc5; } /* DecVal */
|
|
67
|
-
.sourceCode .bn { color: #005cc5; } /* BaseN */
|
|
68
|
-
.sourceCode .fl { color: #005cc5; } /* Float */
|
|
69
|
-
.sourceCode .ch { color: #032f62; } /* Char */
|
|
70
|
-
.sourceCode .st { color: #032f62; } /* String */
|
|
71
|
-
.sourceCode .co { color: #6a737d; font-style: italic; } /* Comment */
|
|
72
|
-
.sourceCode .ot { color: #22863a; } /* Other */
|
|
73
|
-
.sourceCode .al { color: #e36209; font-weight: 600; } /* Alert */
|
|
74
|
-
.sourceCode .fu { color: #6f42c1; font-weight: 600; } /* Function */
|
|
75
|
-
.sourceCode .re { color: #032f62; } /* RegionMarker */
|
|
76
|
-
.sourceCode .er { color: #d73a49; font-weight: 600; } /* Error */
|
|
77
|
-
.sourceCode .cf { color: #d73a49; font-weight: 600; } /* ControlFlow */
|
|
78
|
-
.sourceCode .op { color: #d73a49; } /* Operator */
|
|
79
|
-
.sourceCode .pp { color: #6a737d; } /* Preprocessor */
|
|
80
|
-
.sourceCode .at { color: #005cc5; } /* Attribute */
|
|
81
|
-
.sourceCode .do { color: #6a737d; font-style: italic; } /* Documentation */
|
|
82
|
-
.sourceCode .an { color: #6a737d; font-weight: 600; } /* Annotation */
|
|
83
|
-
.sourceCode .cv { color: #6a737d; font-weight: 600; font-style: italic; } /* CommentVar */
|
|
84
|
-
.sourceCode .in { color: #6a737d; } /* Information */
|
|
85
|
-
.sourceCode .wa { color: #e36209; font-weight: 600; } /* Warning */
|
|
86
|
-
.sourceCode .im { color: #d73a49; } /* Import */
|
|
87
|
-
.sourceCode .bu { color: #005cc5; } /* BuiltIn */
|
|
88
|
-
.sourceCode .ex { color: #6f42c1; } /* Extension */
|
|
89
|
-
.sourceCode .va { color: #e36209; } /* Variable */
|
|
90
|
-
.sourceCode .ss { color: #032f62; } /* SpecialString */
|
|
91
|
-
.sourceCode .sc { color: #032f62; } /* SpecialChar */
|
|
92
|
-
.sourceCode .vs { color: #032f62; } /* VerbatimString */
|
|
93
|
-
.sourceCode .il { color: #005cc5; } /* Special */
|
|
94
|
-
/* Line numbers (Skylighting) */
|
|
95
|
-
.sourceCode.numberSource .sourceCode { counter-reset: line; }
|
|
96
|
-
.sourceCode.numberSource .sourceCode > span { position: relative; left: -4em; counter-increment: line; }
|
|
97
|
-
.sourceCode.numberSource .sourceCode > span > a:first-child::before { content: counter(line); position: relative; left: -1em; text-align: right; vertical-align: baseline; border: none; display: inline-block; min-width: 1em; padding-right: 0.5em; color: #aaa; }
|
|
98
|
-
</style>
|
|
99
|
-
<style>
|
|
100
|
-
body {
|
|
101
|
-
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
|
|
102
|
-
line-height: 1.6;
|
|
103
|
-
max-width: 800px;
|
|
104
|
-
margin: 2rem auto;
|
|
105
|
-
padding: 0 1rem;
|
|
106
|
-
color: #333;
|
|
107
|
-
}
|
|
108
|
-
pre { background: #f5f5f5; padding: 1rem; overflow-x: auto; }
|
|
109
|
-
code { background: #f0f0f0; padding: 0.2em 0.4em; border-radius: 3px; }
|
|
110
|
-
blockquote { border-left: 4px solid #ddd; margin: 0; padding-left: 1rem; color: #666; }
|
|
111
|
-
table { border-collapse: collapse; width: 100%%; }
|
|
112
|
-
th, td { border: 1px solid #ddd; padding: 0.5rem; }
|
|
113
|
-
th { background: #f5f5f5; }
|
|
114
|
-
tfoot td { background: #e8e8e8; }
|
|
115
|
-
figure.table-figure { width: fit-content; margin: 1em 0; }
|
|
116
|
-
figure.table-figure table { width: auto; }
|
|
117
|
-
figcaption { text-align: center; font-weight: bold; font-size: 0.8em; }
|
|
118
|
-
.page-break { page-break-after: always; }
|
|
119
|
-
.callout { padding: 1rem; margin: 1rem 0; border-left: 4px solid; }
|
|
120
|
-
.callout-note { border-color: #3b82f6; background: #eff6ff; }
|
|
121
|
-
.callout-warning { border-color: #f59e0b; background: #fffbeb; }
|
|
122
|
-
.callout-tip { border-color: #10b981; background: #f0fdf4; }
|
|
123
|
-
.callout-danger { border-color: #ef4444; background: #fef2f2; }
|
|
124
|
-
ins { background: #d4fcbc; text-decoration: none; }
|
|
125
|
-
del { background: #fbb6c2; text-decoration: line-through; }
|
|
126
|
-
mark { background: #fff3cd; }
|
|
127
|
-
.smallcaps { font-variant: small-caps; }
|
|
128
|
-
.underline { text-decoration: underline; }
|
|
129
|
-
span.mark { background: #fff3cd; }
|
|
130
|
-
.hidden { display: none; }
|
|
131
|
-
.quarto-xref { font-variant: normal; }
|
|
132
|
-
.critic.comment { background: #e7e7e7; color: #666; font-style: italic; }
|
|
133
|
-
.mkhashtag { color: #666; }
|
|
134
|
-
.mkstyledtag {
|
|
135
|
-
display: inline-block;
|
|
136
|
-
background: #e0e0e0;
|
|
137
|
-
padding: 3px 9px;
|
|
138
|
-
border-radius: 20px;
|
|
139
|
-
font-size: 0.9em;
|
|
140
|
-
line-height: 1.4;
|
|
141
|
-
color: #333;
|
|
142
|
-
margin: 0 2px;
|
|
143
|
-
}
|
|
144
|
-
</style>
|
|
145
|
-
<meta name="paginate" content="symbols"/>
|
|
146
|
-
<meta name="highlight-language-only" content="true"/>
|
|
147
|
-
<meta name="code-line-numbers" content="false"/>
|
|
148
|
-
<meta name="code-highlight" content="pygments"/>
|
|
149
|
-
<meta name="sup-sub" content="true"/>
|
|
150
|
-
<meta name="relaxed-tables" content="true"/>
|
|
151
|
-
<meta name="includes" content="true"/>
|
|
152
|
-
<meta name="autolink" content="true"/>
|
|
153
|
-
<meta name="pretty" content="false"/>
|
|
154
|
-
<meta name="standalone" content="false"/>
|
|
155
|
-
<meta name="mode" content="unified"/>
|
|
156
|
-
<meta name="markdown-in-html" content="true"/>
|
|
157
|
-
<meta name="image-captions" content="true"/>
|
|
158
|
-
<meta name="wikilink-extension" content="html"/>
|
|
159
|
-
<meta name="wikilink-space" content="hyphen"/>
|
|
160
|
-
<meta name="wikilinks" content="true"/>
|
|
161
|
-
<meta name="widont" content="true"/>
|
|
162
|
-
<meta name="plugins" content="true"/>
|
|
163
|
-
<meta name="id-format" content="gfm"/>
|
|
164
|
-
|
|
165
|
-
<style>
|
|
166
|
-
:root {
|
|
167
|
-
/* border-box width of the fixed sidebar; body offset includes a small gap */
|
|
168
|
-
--sidebar-width: 250px;
|
|
169
|
-
--sidebar-offset: 270px;
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
/* Base styles — override Apex standalone centering (max-width + margin: auto) */
|
|
173
|
-
body {
|
|
174
|
-
-webkit-font-smoothing: antialiased;
|
|
175
|
-
-moz-osx-font-smoothing: grayscale;
|
|
176
|
-
font-size: 17px;
|
|
177
|
-
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
|
|
178
|
-
"Helvetica Neue", Arial, sans-serif;
|
|
179
|
-
line-height: 1.65;
|
|
180
|
-
color: #1e293b;
|
|
181
|
-
background-color: #fff;
|
|
182
|
-
max-width: none;
|
|
183
|
-
width: auto;
|
|
184
|
-
margin: 2rem 2rem 2rem var(--sidebar-offset);
|
|
185
|
-
padding: 0 1rem;
|
|
186
|
-
box-sizing: border-box;
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
/* Sidebar / Main TOC - wider on larger screens */
|
|
190
|
-
.main-toc,
|
|
191
|
-
.sidebar {
|
|
192
|
-
position: fixed;
|
|
193
|
-
left: 0;
|
|
194
|
-
top: 0;
|
|
195
|
-
box-sizing: border-box;
|
|
196
|
-
width: var(--sidebar-width);
|
|
197
|
-
min-width: var(--sidebar-width);
|
|
198
|
-
max-width: var(--sidebar-width);
|
|
199
|
-
height: 100vh;
|
|
200
|
-
overflow-y: auto;
|
|
201
|
-
background: #1e293b;
|
|
202
|
-
color: rgba(255, 255, 255, 0.9);
|
|
203
|
-
border-right: 2px solid rgba(255, 255, 255, 0.1);
|
|
204
|
-
padding: 24px 20px 130px;
|
|
205
|
-
font-size: 14px;
|
|
206
|
-
z-index: 100;
|
|
207
|
-
box-shadow: 4px 0 24px rgba(0, 0, 0, 0.08);
|
|
208
|
-
transition: transform 0.3s ease;
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
.main-toc ul,
|
|
212
|
-
.sidebar ul {
|
|
213
|
-
list-style: none;
|
|
214
|
-
padding-left: 0;
|
|
215
|
-
margin: 0;
|
|
216
|
-
padding-bottom: 80px;
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
.main-toc ul::after,
|
|
220
|
-
.sidebar ul::after {
|
|
221
|
-
content: "";
|
|
222
|
-
display: block;
|
|
223
|
-
height: 80px;
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
.main-toc li,
|
|
227
|
-
.sidebar li {
|
|
228
|
-
margin: 0.25em 0;
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
.main-toc a,
|
|
232
|
-
.sidebar a {
|
|
233
|
-
color: rgba(255, 255, 255, 0.85);
|
|
234
|
-
text-decoration: none;
|
|
235
|
-
display: block;
|
|
236
|
-
padding: 6px 12px;
|
|
237
|
-
border-radius: 4px;
|
|
238
|
-
transition: all 0.15s ease;
|
|
239
|
-
white-space: nowrap;
|
|
240
|
-
overflow: hidden;
|
|
241
|
-
text-overflow: ellipsis;
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
.main-toc a:hover,
|
|
245
|
-
.sidebar a:hover {
|
|
246
|
-
background: #334155;
|
|
247
|
-
color: #fff;
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
.sidebar a.active {
|
|
251
|
-
color: #0ea5e9;
|
|
252
|
-
font-weight: 500;
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
/* Hamburger menu button */
|
|
256
|
-
.hamburger-menu {
|
|
257
|
-
display: none;
|
|
258
|
-
position: fixed;
|
|
259
|
-
top: 12px;
|
|
260
|
-
left: 12px;
|
|
261
|
-
z-index: 200;
|
|
262
|
-
background: #1e293b;
|
|
263
|
-
border: 2px solid rgba(255, 255, 255, 0.1);
|
|
264
|
-
border-radius: 6px;
|
|
265
|
-
padding: 10px;
|
|
266
|
-
cursor: pointer;
|
|
267
|
-
color: rgba(255, 255, 255, 0.9);
|
|
268
|
-
font-size: 20px;
|
|
269
|
-
line-height: 1;
|
|
270
|
-
box-sizing: border-box;
|
|
271
|
-
width: 44px;
|
|
272
|
-
height: 44px;
|
|
273
|
-
align-items: center;
|
|
274
|
-
justify-content: center;
|
|
275
|
-
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
|
|
276
|
-
transition: all 0.2s ease;
|
|
277
|
-
opacity: 0.2;
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
.hamburger-menu:hover {
|
|
281
|
-
background: #334155;
|
|
282
|
-
color: #fff;
|
|
283
|
-
opacity: 1;
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
/* Move hamburger to the right of the sidebar when menu is open */
|
|
287
|
-
.hamburger-menu.active {
|
|
288
|
-
left: calc(var(--sidebar-width) + 12px);
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
.hamburger-menu.active {
|
|
292
|
-
background: #0ea5e9;
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
.hamburger-menu::before {
|
|
296
|
-
content: "☰";
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
.hamburger-menu.active::before {
|
|
300
|
-
content: "✕";
|
|
301
|
-
}
|
|
302
|
-
|
|
303
|
-
/* Mobile menu overlay */
|
|
304
|
-
.mobile-menu-overlay {
|
|
305
|
-
display: none;
|
|
306
|
-
position: fixed;
|
|
307
|
-
top: 0;
|
|
308
|
-
left: 0;
|
|
309
|
-
right: 0;
|
|
310
|
-
bottom: 0;
|
|
311
|
-
background: rgba(0, 0, 0, 0.5);
|
|
312
|
-
z-index: 150;
|
|
313
|
-
opacity: 0;
|
|
314
|
-
visibility: hidden;
|
|
315
|
-
transition: opacity 0.3s ease, visibility 0.3s ease;
|
|
316
|
-
}
|
|
317
|
-
|
|
318
|
-
.mobile-menu-overlay.active {
|
|
319
|
-
opacity: 1;
|
|
320
|
-
visibility: visible;
|
|
321
|
-
}
|
|
322
|
-
|
|
323
|
-
/* Page TOC */
|
|
324
|
-
.page-toc {
|
|
325
|
-
background: #f9f9f9;
|
|
326
|
-
border: 1px solid #ddd;
|
|
327
|
-
border-radius: 4px;
|
|
328
|
-
padding: 1rem;
|
|
329
|
-
margin: 1.5rem 0;
|
|
330
|
-
}
|
|
331
|
-
|
|
332
|
-
.page-toc ul {
|
|
333
|
-
list-style: none;
|
|
334
|
-
padding-left: 0;
|
|
335
|
-
margin: 0;
|
|
336
|
-
}
|
|
337
|
-
|
|
338
|
-
.page-toc > ul {
|
|
339
|
-
padding-left: 0;
|
|
340
|
-
}
|
|
341
|
-
|
|
342
|
-
.page-toc li {
|
|
343
|
-
margin: 0.25em 0;
|
|
344
|
-
}
|
|
345
|
-
|
|
346
|
-
.page-toc a {
|
|
347
|
-
color: #0066cc;
|
|
348
|
-
text-decoration: none;
|
|
349
|
-
display: block;
|
|
350
|
-
padding: 0.25em 0.5em;
|
|
351
|
-
border-radius: 3px;
|
|
352
|
-
}
|
|
353
|
-
|
|
354
|
-
.page-toc a:hover {
|
|
355
|
-
background: #e0e0e0;
|
|
356
|
-
color: #004499;
|
|
357
|
-
}
|
|
358
|
-
|
|
359
|
-
.page-toc ul ul {
|
|
360
|
-
list-style: none;
|
|
361
|
-
padding-left: 1.5em;
|
|
362
|
-
margin-top: 0.25em;
|
|
363
|
-
margin-left: 0;
|
|
364
|
-
}
|
|
365
|
-
|
|
366
|
-
.page-toc ul ul ul {
|
|
367
|
-
padding-left: 1.5em;
|
|
368
|
-
}
|
|
369
|
-
|
|
370
|
-
.page-toc ul ul a {
|
|
371
|
-
font-size: 0.9em;
|
|
372
|
-
color: #555;
|
|
373
|
-
}
|
|
374
|
-
|
|
375
|
-
.page-toc ul ul ul a {
|
|
376
|
-
font-size: 0.85em;
|
|
377
|
-
color: #666;
|
|
378
|
-
}
|
|
379
|
-
|
|
380
|
-
/* Floating TOC */
|
|
381
|
-
.floating-toc {
|
|
382
|
-
position: fixed;
|
|
383
|
-
top: 0;
|
|
384
|
-
left: var(--sidebar-offset);
|
|
385
|
-
right: 0;
|
|
386
|
-
z-index: 50;
|
|
387
|
-
opacity: 0;
|
|
388
|
-
visibility: hidden;
|
|
389
|
-
transition: opacity 0.2s ease, visibility 0.2s ease;
|
|
390
|
-
pointer-events: none;
|
|
391
|
-
display: flex;
|
|
392
|
-
justify-content: flex-end;
|
|
393
|
-
padding-right: 2rem;
|
|
394
|
-
}
|
|
395
|
-
|
|
396
|
-
.floating-toc.visible {
|
|
397
|
-
opacity: 1;
|
|
398
|
-
visibility: visible;
|
|
399
|
-
pointer-events: auto;
|
|
400
|
-
}
|
|
401
|
-
|
|
402
|
-
.floating-toc-container {
|
|
403
|
-
background: rgba(255, 255, 255, 0.95);
|
|
404
|
-
backdrop-filter: blur(10px);
|
|
405
|
-
border-bottom: 1px solid #ddd;
|
|
406
|
-
border-radius: 0 0 12px 12px;
|
|
407
|
-
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
|
408
|
-
width: fit-content;
|
|
409
|
-
max-width: 400px;
|
|
410
|
-
min-width: 200px;
|
|
411
|
-
overflow: hidden;
|
|
412
|
-
transition: max-height 0.3s ease;
|
|
413
|
-
}
|
|
414
|
-
|
|
415
|
-
.floating-toc-header {
|
|
416
|
-
padding: 8px 16px;
|
|
417
|
-
cursor: pointer;
|
|
418
|
-
user-select: none;
|
|
419
|
-
font-size: 14px;
|
|
420
|
-
font-weight: 500;
|
|
421
|
-
color: #1e293b;
|
|
422
|
-
display: flex;
|
|
423
|
-
align-items: center;
|
|
424
|
-
justify-content: space-between;
|
|
425
|
-
}
|
|
426
|
-
|
|
427
|
-
.floating-toc-header:hover {
|
|
428
|
-
background: rgba(0, 0, 0, 0.02);
|
|
429
|
-
}
|
|
430
|
-
|
|
431
|
-
.floating-toc-content {
|
|
432
|
-
max-height: 0;
|
|
433
|
-
overflow: hidden;
|
|
434
|
-
transition: max-height 0.3s ease;
|
|
435
|
-
}
|
|
436
|
-
|
|
437
|
-
.floating-toc-container:hover .floating-toc-content {
|
|
438
|
-
max-height: 70vh;
|
|
439
|
-
overflow-y: auto;
|
|
440
|
-
}
|
|
441
|
-
|
|
442
|
-
.floating-toc-content ul {
|
|
443
|
-
list-style: none;
|
|
444
|
-
padding: 8px 16px 16px;
|
|
445
|
-
margin: 0;
|
|
446
|
-
}
|
|
447
|
-
|
|
448
|
-
.floating-toc-content li {
|
|
449
|
-
margin: 0.1em 0;
|
|
450
|
-
}
|
|
451
|
-
|
|
452
|
-
.floating-toc-content a {
|
|
453
|
-
color: #0066cc;
|
|
454
|
-
text-decoration: none;
|
|
455
|
-
display: block;
|
|
456
|
-
padding: 0.2em 0.5em;
|
|
457
|
-
border-radius: 4px;
|
|
458
|
-
font-size: 13px;
|
|
459
|
-
transition: background 0.15s ease;
|
|
460
|
-
}
|
|
461
|
-
|
|
462
|
-
.floating-toc-content a:hover {
|
|
463
|
-
background: #e0e0e0;
|
|
464
|
-
color: #004499;
|
|
465
|
-
}
|
|
466
|
-
|
|
467
|
-
.floating-toc-content ul ul {
|
|
468
|
-
padding-left: 1.2em;
|
|
469
|
-
margin-top: 0;
|
|
470
|
-
margin-bottom: 0;
|
|
471
|
-
}
|
|
472
|
-
|
|
473
|
-
.floating-toc-content ul ul ul {
|
|
474
|
-
margin-top: 0;
|
|
475
|
-
margin-bottom: 0;
|
|
476
|
-
}
|
|
477
|
-
|
|
478
|
-
.floating-toc-content ul ul a {
|
|
479
|
-
font-size: 12px;
|
|
480
|
-
color: #555;
|
|
481
|
-
}
|
|
482
|
-
|
|
483
|
-
.floating-toc-content ul ul ul a {
|
|
484
|
-
font-size: 11px;
|
|
485
|
-
color: #666;
|
|
486
|
-
}
|
|
487
|
-
|
|
488
|
-
/* Smooth scrolling */
|
|
489
|
-
html {
|
|
490
|
-
scroll-behavior: smooth;
|
|
491
|
-
}
|
|
492
|
-
|
|
493
|
-
/* Code blocks */
|
|
494
|
-
code {
|
|
495
|
-
background: #f0f0f0;
|
|
496
|
-
padding: 0.2em 0.4em;
|
|
497
|
-
border-radius: 3px;
|
|
498
|
-
font-family: "Monaco", "Menlo", "Ubuntu Mono", monospace;
|
|
499
|
-
font-size: 0.9em;
|
|
500
|
-
margin: 0 0.1em;
|
|
501
|
-
}
|
|
502
|
-
|
|
503
|
-
pre {
|
|
504
|
-
background: #f5f5f5;
|
|
505
|
-
padding: 1rem;
|
|
506
|
-
overflow-x: auto;
|
|
507
|
-
border-radius: 4px;
|
|
508
|
-
margin: 1em 0;
|
|
509
|
-
}
|
|
510
|
-
|
|
511
|
-
pre code {
|
|
512
|
-
background: none;
|
|
513
|
-
padding: 0;
|
|
514
|
-
margin: 0;
|
|
515
|
-
}
|
|
516
|
-
|
|
517
|
-
/* Rouge syntax highlighting - GitHub theme, scoped to .highlight containers */
|
|
518
|
-
.highlight {
|
|
519
|
-
color: #24292e;
|
|
520
|
-
}
|
|
521
|
-
|
|
522
|
-
.highlight .c {
|
|
523
|
-
color: #6a737d;
|
|
524
|
-
font-style: italic;
|
|
525
|
-
} /* Comment */
|
|
526
|
-
.highlight .err {
|
|
527
|
-
color: #a61717;
|
|
528
|
-
background-color: #e3d2d2;
|
|
529
|
-
} /* Error */
|
|
530
|
-
.highlight .k {
|
|
531
|
-
color: #d73a49;
|
|
532
|
-
font-weight: bold;
|
|
533
|
-
} /* Keyword */
|
|
534
|
-
.highlight .l {
|
|
535
|
-
color: #032f62;
|
|
536
|
-
} /* Literal */
|
|
537
|
-
.highlight .n {
|
|
538
|
-
color: #24292e;
|
|
539
|
-
} /* Name */
|
|
540
|
-
.highlight .o {
|
|
541
|
-
color: #d73a49;
|
|
542
|
-
} /* Operator */
|
|
543
|
-
.highlight .p {
|
|
544
|
-
color: #24292e;
|
|
545
|
-
} /* Punctuation */
|
|
546
|
-
.highlight .cm {
|
|
547
|
-
color: #6a737d;
|
|
548
|
-
font-style: italic;
|
|
549
|
-
} /* Comment.Multiline */
|
|
550
|
-
.highlight .cp {
|
|
551
|
-
color: #6a737d;
|
|
552
|
-
font-weight: bold;
|
|
553
|
-
} /* Comment.Preproc */
|
|
554
|
-
.highlight .c1 {
|
|
555
|
-
color: #6a737d;
|
|
556
|
-
font-style: italic;
|
|
557
|
-
} /* Comment.Single */
|
|
558
|
-
.highlight .cs {
|
|
559
|
-
color: #6a737d;
|
|
560
|
-
font-weight: bold;
|
|
561
|
-
font-style: italic;
|
|
562
|
-
} /* Comment.Special */
|
|
563
|
-
.highlight .gd {
|
|
564
|
-
color: #24292e;
|
|
565
|
-
background-color: #ffeef0;
|
|
566
|
-
} /* Generic.Deleted */
|
|
567
|
-
.highlight .ge {
|
|
568
|
-
color: #24292e;
|
|
569
|
-
font-style: italic;
|
|
570
|
-
} /* Generic.Emph */
|
|
571
|
-
.highlight .gr {
|
|
572
|
-
color: #aa0000;
|
|
573
|
-
} /* Generic.Error */
|
|
574
|
-
.highlight .gh {
|
|
575
|
-
color: #999999;
|
|
576
|
-
font-weight: bold;
|
|
577
|
-
} /* Generic.Heading */
|
|
578
|
-
.highlight .gi {
|
|
579
|
-
color: #24292e;
|
|
580
|
-
background-color: #f0fff4;
|
|
581
|
-
} /* Generic.Inserted */
|
|
582
|
-
.highlight .go {
|
|
583
|
-
color: #888888;
|
|
584
|
-
} /* Generic.Output */
|
|
585
|
-
.highlight .gp {
|
|
586
|
-
color: #555555;
|
|
587
|
-
} /* Generic.Prompt */
|
|
588
|
-
.highlight .gs {
|
|
589
|
-
font-weight: bold;
|
|
590
|
-
} /* Generic.Strong */
|
|
591
|
-
.highlight .gu {
|
|
592
|
-
color: #aaaaaa;
|
|
593
|
-
} /* Generic.Subheading */
|
|
594
|
-
.highlight .gt {
|
|
595
|
-
color: #aa0000;
|
|
596
|
-
} /* Generic.Traceback */
|
|
597
|
-
.highlight .kc {
|
|
598
|
-
color: #d73a49;
|
|
599
|
-
font-weight: bold;
|
|
600
|
-
} /* Keyword.Constant */
|
|
601
|
-
.highlight .kd {
|
|
602
|
-
color: #d73a49;
|
|
603
|
-
font-weight: bold;
|
|
604
|
-
} /* Keyword.Declaration */
|
|
605
|
-
.highlight .kn {
|
|
606
|
-
color: #d73a49;
|
|
607
|
-
font-weight: bold;
|
|
608
|
-
} /* Keyword.Namespace */
|
|
609
|
-
.highlight .kp {
|
|
610
|
-
color: #d73a49;
|
|
611
|
-
font-weight: bold;
|
|
612
|
-
} /* Keyword.Pseudo */
|
|
613
|
-
.highlight .kr {
|
|
614
|
-
color: #d73a49;
|
|
615
|
-
font-weight: bold;
|
|
616
|
-
} /* Keyword.Reserved */
|
|
617
|
-
.highlight .kt {
|
|
618
|
-
color: #d73a49;
|
|
619
|
-
font-weight: bold;
|
|
620
|
-
} /* Keyword.Type */
|
|
621
|
-
.highlight .ld {
|
|
622
|
-
color: #032f62;
|
|
623
|
-
} /* Literal.Date */
|
|
624
|
-
.highlight .m {
|
|
625
|
-
color: #005cc5;
|
|
626
|
-
} /* Literal.Number */
|
|
627
|
-
.highlight .s {
|
|
628
|
-
color: #032f62;
|
|
629
|
-
} /* Literal.String */
|
|
630
|
-
.highlight .na {
|
|
631
|
-
color: #6f42c1;
|
|
632
|
-
} /* Name.Attribute */
|
|
633
|
-
.highlight .nb {
|
|
634
|
-
color: #005cc5;
|
|
635
|
-
} /* Name.Builtin */
|
|
636
|
-
.highlight .nc {
|
|
637
|
-
color: #6f42c1;
|
|
638
|
-
font-weight: bold;
|
|
639
|
-
} /* Name.Class */
|
|
640
|
-
.highlight .no {
|
|
641
|
-
color: #005cc5;
|
|
642
|
-
} /* Name.Constant */
|
|
643
|
-
.highlight .nd {
|
|
644
|
-
color: #6f42c1;
|
|
645
|
-
font-weight: bold;
|
|
646
|
-
} /* Name.Decorator */
|
|
647
|
-
.highlight .ni {
|
|
648
|
-
color: #800080;
|
|
649
|
-
} /* Name.Entity */
|
|
650
|
-
.highlight .ne {
|
|
651
|
-
color: #990000;
|
|
652
|
-
font-weight: bold;
|
|
653
|
-
} /* Name.Exception */
|
|
654
|
-
.highlight .nf {
|
|
655
|
-
color: #6f42c1;
|
|
656
|
-
} /* Name.Function */
|
|
657
|
-
.highlight .nl {
|
|
658
|
-
color: #990000;
|
|
659
|
-
} /* Name.Label */
|
|
660
|
-
.highlight .nn {
|
|
661
|
-
color: #555555;
|
|
662
|
-
} /* Name.Namespace */
|
|
663
|
-
.highlight .nx {
|
|
664
|
-
color: #6f42c1;
|
|
665
|
-
} /* Name.Other */
|
|
666
|
-
.highlight .py {
|
|
667
|
-
color: #990000;
|
|
668
|
-
} /* Name.Property */
|
|
669
|
-
.highlight .nt {
|
|
670
|
-
color: #22863a;
|
|
671
|
-
} /* Name.Tag */
|
|
672
|
-
.highlight .nv {
|
|
673
|
-
color: #e36209;
|
|
674
|
-
} /* Name.Variable */
|
|
675
|
-
.highlight .ow {
|
|
676
|
-
color: #d73a49;
|
|
677
|
-
font-weight: bold;
|
|
678
|
-
} /* Operator.Word */
|
|
679
|
-
.highlight .w {
|
|
680
|
-
color: #bbbbbb;
|
|
681
|
-
} /* Text.Whitespace */
|
|
682
|
-
.highlight .mf {
|
|
683
|
-
color: #005cc5;
|
|
684
|
-
} /* Literal.Number.Float */
|
|
685
|
-
.highlight .mh {
|
|
686
|
-
color: #005cc5;
|
|
687
|
-
} /* Literal.Number.Hex */
|
|
688
|
-
.highlight .mi {
|
|
689
|
-
color: #005cc5;
|
|
690
|
-
} /* Literal.Number.Integer */
|
|
691
|
-
.highlight .mo {
|
|
692
|
-
color: #005cc5;
|
|
693
|
-
} /* Literal.Number.Oct */
|
|
694
|
-
.highlight .sb {
|
|
695
|
-
color: #032f62;
|
|
696
|
-
} /* Literal.String.Backtick */
|
|
697
|
-
.highlight .sc {
|
|
698
|
-
color: #032f62;
|
|
699
|
-
} /* Literal.String.Char */
|
|
700
|
-
.highlight .sd {
|
|
701
|
-
color: #032f62;
|
|
702
|
-
} /* Literal.String.Doc */
|
|
703
|
-
.highlight .s2 {
|
|
704
|
-
color: #032f62;
|
|
705
|
-
} /* Literal.String.Double */
|
|
706
|
-
.highlight .se {
|
|
707
|
-
color: #032f62;
|
|
708
|
-
} /* Literal.String.Escape */
|
|
709
|
-
.highlight .sh {
|
|
710
|
-
color: #032f62;
|
|
711
|
-
} /* Literal.String.Heredoc */
|
|
712
|
-
.highlight .si {
|
|
713
|
-
color: #032f62;
|
|
714
|
-
} /* Literal.String.Interpol */
|
|
715
|
-
.highlight .sx {
|
|
716
|
-
color: #032f62;
|
|
717
|
-
} /* Literal.String.Other */
|
|
718
|
-
.highlight .sr {
|
|
719
|
-
color: #22863a;
|
|
720
|
-
} /* Literal.String.Regex */
|
|
721
|
-
.highlight .s1 {
|
|
722
|
-
color: #032f62;
|
|
723
|
-
} /* Literal.String.Single */
|
|
724
|
-
.highlight .ss {
|
|
725
|
-
color: #032f62;
|
|
726
|
-
} /* Literal.String.Symbol */
|
|
727
|
-
.highlight .bp {
|
|
728
|
-
color: #005cc5;
|
|
729
|
-
} /* Name.Builtin.Pseudo */
|
|
730
|
-
.highlight .vc {
|
|
731
|
-
color: #e36209;
|
|
732
|
-
} /* Name.Variable.Class */
|
|
733
|
-
.highlight .vg {
|
|
734
|
-
color: #e36209;
|
|
735
|
-
} /* Name.Variable.Global */
|
|
736
|
-
.highlight .vi {
|
|
737
|
-
color: #e36209;
|
|
738
|
-
} /* Name.Variable.Instance */
|
|
739
|
-
.highlight .il {
|
|
740
|
-
color: #005cc5;
|
|
741
|
-
} /* Literal.Number.Integer.Long */
|
|
742
|
-
|
|
743
|
-
/* Additional Rouge token classes that may be used */
|
|
744
|
-
.highlight .token {
|
|
745
|
-
color: #5670a0;
|
|
746
|
-
}
|
|
747
|
-
.highlight .token.list {
|
|
748
|
-
color: #546e9f;
|
|
749
|
-
}
|
|
750
|
-
.highlight .token.punctuation {
|
|
751
|
-
color: #3e8dad;
|
|
752
|
-
}
|
|
753
|
-
.highlight .token.list.punctuation {
|
|
754
|
-
color: #e05b78;
|
|
755
|
-
}
|
|
756
|
-
.highlight .token.content {
|
|
757
|
-
padding: 0;
|
|
758
|
-
}
|
|
759
|
-
|
|
760
|
-
/* Nested lists in page content */
|
|
761
|
-
ul ul,
|
|
762
|
-
ol ol,
|
|
763
|
-
ul ol,
|
|
764
|
-
ol ul {
|
|
765
|
-
padding-left: 1.5em;
|
|
766
|
-
margin-top: 0.25em;
|
|
767
|
-
}
|
|
768
|
-
|
|
769
|
-
/* Page footer */
|
|
770
|
-
.page-footer {
|
|
771
|
-
background: #f5f5f5;
|
|
772
|
-
border-top: 1px solid #ddd;
|
|
773
|
-
padding: 1.5rem;
|
|
774
|
-
margin-top: 3rem;
|
|
775
|
-
color: #666;
|
|
776
|
-
font-size: 0.9em;
|
|
777
|
-
}
|
|
778
|
-
|
|
779
|
-
.page-footer p {
|
|
780
|
-
margin: 0.5em 0;
|
|
781
|
-
}
|
|
782
|
-
|
|
783
|
-
.page-footer a {
|
|
784
|
-
color: #0066cc;
|
|
785
|
-
text-decoration: none;
|
|
786
|
-
}
|
|
787
|
-
|
|
788
|
-
.page-footer a:hover {
|
|
789
|
-
text-decoration: underline;
|
|
790
|
-
}
|
|
791
|
-
|
|
792
|
-
/* Mobile responsive */
|
|
793
|
-
@media (max-width: 768px) {
|
|
794
|
-
.hamburger-menu {
|
|
795
|
-
display: flex;
|
|
796
|
-
}
|
|
797
|
-
|
|
798
|
-
.main-toc,
|
|
799
|
-
.sidebar {
|
|
800
|
-
transform: translateX(-100%);
|
|
801
|
-
z-index: 175;
|
|
802
|
-
}
|
|
803
|
-
|
|
804
|
-
.main-toc.mobile-open,
|
|
805
|
-
.sidebar.mobile-open {
|
|
806
|
-
transform: translateX(0);
|
|
807
|
-
}
|
|
808
|
-
|
|
809
|
-
body {
|
|
810
|
-
margin: 2rem 1rem;
|
|
811
|
-
}
|
|
812
|
-
|
|
813
|
-
.floating-toc {
|
|
814
|
-
left: 0;
|
|
815
|
-
}
|
|
816
|
-
}
|
|
817
|
-
|
|
818
|
-
</style></head>
|
|
819
|
-
|
|
820
|
-
<body class="code-highlighted">
|
|
821
|
-
<div class="floating-toc" id="floating-toc">
|
|
822
|
-
<div class="floating-toc-container">
|
|
823
|
-
<div class="floating-toc-header">
|
|
824
|
-
<span>Table of Contents 🔻</span>
|
|
825
|
-
</div>
|
|
826
|
-
<div class="floating-toc-content" id="floating-toc-content">
|
|
827
|
-
<!-- Content will be populated by JavaScript -->
|
|
828
|
-
</div>
|
|
829
|
-
</div>
|
|
830
|
-
</div>
|
|
831
|
-
|
|
832
|
-
<button class="hamburger-menu" id="hamburger-menu" aria-label="Toggle navigation"></button>
|
|
833
|
-
<div class="mobile-menu-overlay" id="mobile-menu-overlay"></div>
|
|
834
|
-
|
|
835
|
-
<nav class="main-toc"><ul><li><a href="Home.html">Home</a></li><li><a href="Getting-Started.html">Getting Started</a></li><li><a href="Installation.html">Installation</a></li><li><a href="Usage.html">Usage</a></li><li><a href="Syntax.html">Syntax</a></li><li><a href="Callouts.html">Callouts</a></li><li><a href="Tables.html">Tables</a></li><li><a href="Inline-Attribute-Lists.html">Inline Attribute Lists</a></li><li><a href="Modes.html">Modes</a></li><li><a href="Quarto-Mode.html">Quarto Mode</a></li><li><a href="Command-Line-Options.html">Command Line Options</a></li><li><a href="Rendering-Markdown-In-Terminal.html">Rendering Markdown in the Terminal</a></li><li><a href="Generating-Man-Pages.html">Generating Man Pages</a></li><li><a href="Multi-File-Documents.html">Multi-file Documents</a></li><li><a href="Citations.html">Citations</a></li><li><a href="Indices.html">Indices</a></li><li><a href="Metadata-Transforms.html">Metadata Transforms</a></li><li><a href="Pandoc-Integration.html">Integrating with Pandoc</a></li><li><a href="Using-Apex-with-Jekyll.html">Using Apex with Jekyll</a></li><li><a href="Header-IDs.html">Header IDs</a></li><li><a href="C-API.html">C API</a></li><li><a href="Writing-Tests.html">Writing Tests</a></li><li><a href="Xcode-Integration.html">Xcode Integration</a></li><li><a href="Examples.html">Examples</a></li><li><a href="Plugins.html">Plugins</a></li><li><a href="Filters.html">Filters</a></li><li><a href="Troubleshooting.html">Troubleshooting</a></li><li><a href="Credits.html">Credits</a></li></ul></nav>
|
|
836
|
-
|
|
837
|
-
<h1 id="inline-attribute-lists-ials-and-attribute-list-definitions-alds">
|
|
838
|
-
Inline Attribute Lists (IALs) and Attribute List Definitions (ALDs)
|
|
839
|
-
</h1>
|
|
840
|
-
<nav class="page-toc" id="page-toc-top"><ul><li><a href="#inline-attribute-lists-ials-and-attribute-list-definitions-alds">Inline Attribute Lists (IALs) and Attribute List Definitions (ALDs)</a><ul><li><a href="#overview">Overview</a></li><li><a href="#block-level-ials">Block-Level IALs</a><ul><li><a href="#paragraphs">Paragraphs</a></li><li><a href="#headings">Headings</a></li><li><a href="#lists">Lists</a></li><li><a href="#blockquotes">Blockquotes</a></li><li><a href="#tables">Tables</a></li></ul></li><li><a href="#inline-ials">Inline IALs</a><ul><li><a href="#links">Links</a></li><li><a href="#images">Images</a></li><li><a href="#multimarkdown-style-image-attributes">MultiMarkdown-style image attributes</a><ul><li><a href="#inline-images">Inline images</a></li><li><a href="#reference-style-images">Reference-style images</a></li></ul></li><li><a href="#bear-image-attribute-comments">Bear image attribute comments</a><ul><li><a href="#reference-images">Reference images</a></li><li><a href="#supported-values-and-safety">Supported values and safety</a></li><li><a href="#url-handling-and-attributes">URL handling and attributes</a></li><li><a href="#width-and-height-handling">Width and height handling</a></li></ul></li><li><a href="#emphasis-and-strong">Emphasis and Strong</a></li><li><a href="#code-spans">Code Spans</a></li></ul></li><li><a href="#attribute-syntax">Attribute Syntax</a><ul><li><a href="#1-ids">1. IDs</a></li><li><a href="#2-classes">2. Classes</a></li><li><a href="#3-key-value-pairs">3. Key-Value Pairs</a></li><li><a href="#combining-attributes">Combining Attributes</a></li></ul></li><li><a href="#attribute-list-definitions-alds">Attribute List Definitions (ALDs)</a><ul><li><a href="#defining-alds">Defining ALDs</a></li><li><a href="#ald-syntax">ALD Syntax</a></li><li><a href="#referencing-alds">Referencing ALDs</a></li><li><a href="#mixed-usage">Mixed Usage</a></li></ul></li><li><a href="#important-notes">Important Notes</a><ul><li><a href="#block-level-ial-positioning">Block-Level IAL Positioning</a></li><li><a href="#inline-ial-positioning">Inline IAL Positioning</a></li><li><a href="#multiple-elements-with-same-attributes">Multiple Elements with Same Attributes</a></li><li><a href="#nested-elements">Nested Elements</a></li></ul></li><li><a href="#examples">Examples</a><ul><li><a href="#complete-example">Complete Example</a></li><li><a href="#using-alds-for-consistent-styling">Using ALDs for Consistent Styling</a></li></ul></li><li><a href="#related">Related</a></li></ul></li></ul></nav>
|
|
841
|
-
|
|
842
|
-
<p>
|
|
843
|
-
Inline Attribute Lists (IALs) allow you to add HTML attributes (IDs, classes, and custom key-value pairs) to Markdown elements. Attribute List Definitions (ALDs) let you define reusable attribute sets that can be referenced multiple times.
|
|
844
|
-
This feature is available in <strong>Kramdown</strong> and <strong>unified</strong> modes.
|
|
845
|
-
</p>
|
|
846
|
-
|
|
847
|
-
<h2 id="overview">
|
|
848
|
-
Overview
|
|
849
|
-
</h2>
|
|
850
|
-
|
|
851
|
-
<p>
|
|
852
|
-
IALs use the syntax <code>{: attributes}</code> (Kramdown-style) or <code>{#id .class}</code> (Pandoc-style) and can be applied to:
|
|
853
|
-
</p>
|
|
854
|
-
|
|
855
|
-
<ul>
|
|
856
|
-
|
|
857
|
-
<li>
|
|
858
|
-
<strong>Block-level elements</strong>: Headings, paragraphs, lists, blockquotes, code blocks, tables
|
|
859
|
-
</li>
|
|
860
|
-
|
|
861
|
-
<li>
|
|
862
|
-
<strong>Span-level elements</strong>: Links, images, emphasis (italic), strong (bold), code spans
|
|
863
|
-
Apex supports both formats:
|
|
864
|
-
</li>
|
|
865
|
-
|
|
866
|
-
<li>
|
|
867
|
-
<strong>Kramdown-style</strong>: <code>{: #id .class key="value"}</code> - requires a colon after the opening brace
|
|
868
|
-
</li>
|
|
869
|
-
|
|
870
|
-
<li>
|
|
871
|
-
<strong>Pandoc-style</strong>: <code>{#id .class key="value"}</code> - no colon required
|
|
872
|
-
Both formats work identically. For example, <code>{#my-id .my-class}</code> is equivalent to <code>{:#my-id .my-class}</code>.
|
|
873
|
-
ALDs define reusable attribute sets with the syntax <code>{<span class=\"emoji\">:ref-name:</span> attributes}</code> and can be referenced in IALs using <code>{:ref-name}</code>.
|
|
874
|
-
</li>
|
|
875
|
-
|
|
876
|
-
</ul>
|
|
877
|
-
|
|
878
|
-
<h2 id="block-level-ials">
|
|
879
|
-
Block-Level IALs
|
|
880
|
-
</h2>
|
|
881
|
-
|
|
882
|
-
<p>
|
|
883
|
-
For block-level elements, IALs appear on a separate line immediately after the element (no blank line).
|
|
884
|
-
</p>
|
|
885
|
-
|
|
886
|
-
<h3 id="paragraphs">
|
|
887
|
-
Paragraphs
|
|
888
|
-
</h3>
|
|
889
|
-
|
|
890
|
-
<div class="highlight">
|
|
891
|
-
<pre><span></span>This is a paragraph with an ID and classes.
|
|
892
|
-
|
|
893
|
-
{: <span class="ni">#para</span>-id .important .note}
|
|
894
|
-
|
|
895
|
-
This is a paragraph using Pandoc-style IAL.
|
|
896
|
-
|
|
897
|
-
{#para-id-2 .important .note}
|
|
898
|
-
|
|
899
|
-
Another paragraph with custom attributes.
|
|
900
|
-
|
|
901
|
-
{: title="Important Note" lang="en"}
|
|
902
|
-
</pre>
|
|
903
|
-
</div>
|
|
904
|
-
|
|
905
|
-
<p>
|
|
906
|
-
Output:
|
|
907
|
-
</p>
|
|
908
|
-
|
|
909
|
-
<div class="highlight">
|
|
910
|
-
<pre><span></span><span class="p"><</span><span class="nt">p</span> <span class="na">id</span><span class="o">=</span><span class="s">"para-id"</span> <span class="na">class</span><span class="o">=</span><span class="s">"important note"</span><span class="p">></span>This is a paragraph with an ID and classes.<span class="p"></</span><span class="nt">p</span><span class="p">></span>
|
|
911
|
-
<span class="p"><</span><span class="nt">p</span> <span class="na">id</span><span class="o">=</span><span class="s">"para-id-2"</span> <span class="na">class</span><span class="o">=</span><span class="s">"important note"</span><span class="p">></span>This is a paragraph using Pandoc-style IAL.<span class="p"></</span><span class="nt">p</span><span class="p">></span>
|
|
912
|
-
<span class="p"><</span><span class="nt">p</span> <span class="na">title</span><span class="o">=</span><span class="s">"Important Note"</span> <span class="na">lang</span><span class="o">=</span><span class="s">"en"</span><span class="p">></span>Another paragraph with custom attributes.<span class="p"></</span><span class="nt">p</span><span class="p">></span>
|
|
913
|
-
</pre>
|
|
914
|
-
</div>
|
|
915
|
-
|
|
916
|
-
<h3 id="headings">
|
|
917
|
-
Headings
|
|
918
|
-
</h3>
|
|
919
|
-
|
|
920
|
-
<p>
|
|
921
|
-
Headings can have IALs on the same line or the next line:
|
|
922
|
-
<strong>Same line:</strong>
|
|
923
|
-
</p>
|
|
924
|
-
|
|
925
|
-
<div class="highlight">
|
|
926
|
-
<pre><span></span><span class="gh"># Heading {: #custom-id}</span>
|
|
927
|
-
<span class="gu">## Another Heading {: .highlight .large}</span>
|
|
928
|
-
<span class="gu">## Pandoc-style Heading {#pandoc-id .highlight}</span>
|
|
929
|
-
</pre>
|
|
930
|
-
</div>
|
|
931
|
-
|
|
932
|
-
<p>
|
|
933
|
-
<strong>Next line:</strong>
|
|
934
|
-
</p>
|
|
935
|
-
|
|
936
|
-
<div class="highlight">
|
|
937
|
-
<pre><span></span><span class="gh"># Heading</span>
|
|
938
|
-
|
|
939
|
-
{: <span class="ni">#custom</span>-id .highlight}
|
|
940
|
-
|
|
941
|
-
<span class="gh"># Pandoc-style Heading</span>
|
|
942
|
-
|
|
943
|
-
{#pandoc-id-2 .highlight}
|
|
944
|
-
|
|
945
|
-
<span class="gu">## Another Heading</span>
|
|
946
|
-
|
|
947
|
-
{: .section-title lang="en"}
|
|
948
|
-
</pre>
|
|
949
|
-
</div>
|
|
950
|
-
|
|
951
|
-
<p>
|
|
952
|
-
Output:
|
|
953
|
-
</p>
|
|
954
|
-
|
|
955
|
-
<div class="highlight">
|
|
956
|
-
<pre><span></span><span class="p"><</span><span class="nt">h1</span> <span class="na">id</span><span class="o">=</span><span class="s">"custom-id"</span><span class="p">></span>Heading<span class="p"></</span><span class="nt">h1</span><span class="p">></span>
|
|
957
|
-
<span class="p"><</span><span class="nt">h2</span> <span class="na">class</span><span class="o">=</span><span class="s">"highlight large"</span><span class="p">></span>Another Heading<span class="p"></</span><span class="nt">h2</span><span class="p">></span>
|
|
958
|
-
<span class="p"><</span><span class="nt">h2</span> <span class="na">id</span><span class="o">=</span><span class="s">"pandoc-id"</span> <span class="na">class</span><span class="o">=</span><span class="s">"highlight"</span><span class="p">></span>Pandoc-style Heading<span class="p"></</span><span class="nt">h2</span><span class="p">></span>
|
|
959
|
-
<span class="p"><</span><span class="nt">h1</span> <span class="na">id</span><span class="o">=</span><span class="s">"custom-id"</span> <span class="na">class</span><span class="o">=</span><span class="s">"highlight"</span><span class="p">></span>Heading<span class="p"></</span><span class="nt">h1</span><span class="p">></span>
|
|
960
|
-
<span class="p"><</span><span class="nt">h1</span> <span class="na">id</span><span class="o">=</span><span class="s">"pandoc-id-2"</span> <span class="na">class</span><span class="o">=</span><span class="s">"highlight"</span><span class="p">></span>Pandoc-style Heading<span class="p"></</span><span class="nt">h1</span><span class="p">></span>
|
|
961
|
-
<span class="p"><</span><span class="nt">h2</span> <span class="na">class</span><span class="o">=</span><span class="s">"section-title"</span> <span class="na">lang</span><span class="o">=</span><span class="s">"en"</span><span class="p">></span>Another Heading<span class="p"></</span><span class="nt">h2</span><span class="p">></span>
|
|
962
|
-
</pre>
|
|
963
|
-
</div>
|
|
964
|
-
|
|
965
|
-
<h3 id="lists">
|
|
966
|
-
Lists
|
|
967
|
-
</h3>
|
|
968
|
-
|
|
969
|
-
<div class="highlight">
|
|
970
|
-
<pre><span></span><span class="k">-</span><span class="w"> </span>Item 1
|
|
971
|
-
<span class="k">-</span><span class="w"> </span>Item 2
|
|
972
|
-
<span class="k">-</span><span class="w"> </span>Item 3
|
|
973
|
-
|
|
974
|
-
{: .unordered-list .compact}
|
|
975
|
-
|
|
976
|
-
<span class="k">1.</span> First
|
|
977
|
-
<span class="k">2.</span> Second
|
|
978
|
-
<span class="k">3.</span> Third
|
|
979
|
-
|
|
980
|
-
{: <span class="ni">#ordered</span>-list .numbered}
|
|
981
|
-
</pre>
|
|
982
|
-
</div>
|
|
983
|
-
|
|
984
|
-
<p>
|
|
985
|
-
Output:
|
|
986
|
-
</p>
|
|
987
|
-
|
|
988
|
-
<div class="highlight">
|
|
989
|
-
<pre><span></span><span class="p"><</span><span class="nt">ul</span> <span class="na">class</span><span class="o">=</span><span class="s">"unordered-list compact"</span><span class="p">></span>
|
|
990
|
-
<span class="p"><</span><span class="nt">li</span><span class="p">></span>Item 1<span class="p"></</span><span class="nt">li</span><span class="p">></span>
|
|
991
|
-
<span class="p"><</span><span class="nt">li</span><span class="p">></span>Item 2<span class="p"></</span><span class="nt">li</span><span class="p">></span>
|
|
992
|
-
<span class="p"><</span><span class="nt">li</span><span class="p">></span>Item 3<span class="p"></</span><span class="nt">li</span><span class="p">></span>
|
|
993
|
-
<span class="p"></</span><span class="nt">ul</span><span class="p">></span>
|
|
994
|
-
<span class="p"><</span><span class="nt">ol</span> <span class="na">id</span><span class="o">=</span><span class="s">"ordered-list"</span> <span class="na">class</span><span class="o">=</span><span class="s">"numbered"</span><span class="p">></span>
|
|
995
|
-
<span class="p"><</span><span class="nt">li</span><span class="p">></span>First<span class="p"></</span><span class="nt">li</span><span class="p">></span>
|
|
996
|
-
<span class="p"><</span><span class="nt">li</span><span class="p">></span>Second<span class="p"></</span><span class="nt">li</span><span class="p">></span>
|
|
997
|
-
<span class="p"><</span><span class="nt">li</span><span class="p">></span>Third<span class="p"></</span><span class="nt">li</span><span class="p">></span>
|
|
998
|
-
<span class="p"></</span><span class="nt">ol</span><span class="p">></span>
|
|
999
|
-
</pre>
|
|
1000
|
-
</div>
|
|
1001
|
-
|
|
1002
|
-
<h3 id="blockquotes">
|
|
1003
|
-
Blockquotes
|
|
1004
|
-
</h3>
|
|
1005
|
-
|
|
1006
|
-
<div class="highlight">
|
|
1007
|
-
<pre><span></span><span class="k">> </span><span class="ge">This is a quote.</span>
|
|
1008
|
-
|
|
1009
|
-
{: .quote .inspirational}
|
|
1010
|
-
|
|
1011
|
-
<span class="k">> </span><span class="ge">Another quote with attribution.</span>
|
|
1012
|
-
</pre>
|
|
1013
|
-
</div>
|
|
1014
|
-
|
|
1015
|
-
<p>
|
|
1016
|
-
Output:
|
|
1017
|
-
</p>
|
|
1018
|
-
|
|
1019
|
-
<div class="highlight">
|
|
1020
|
-
<pre><span></span><span class="p"><</span><span class="nt">blockquote</span> <span class="na">class</span><span class="o">=</span><span class="s">"quote inspirational"</span><span class="p">></span>
|
|
1021
|
-
<span class="p"><</span><span class="nt">p</span><span class="p">></span>This is a quote.<span class="p"></</span><span class="nt">p</span><span class="p">></span>
|
|
1022
|
-
<span class="p"></</span><span class="nt">blockquote</span><span class="p">></span>
|
|
1023
|
-
<span class="p"><</span><span class="nt">blockquote</span> <span class="na">cite</span><span class="o">=</span><span class="s">"https://example.com"</span><span class="p">></span>
|
|
1024
|
-
<span class="p"><</span><span class="nt">p</span><span class="p">></span>Another quote with attribution.<span class="p"></</span><span class="nt">p</span><span class="p">></span>
|
|
1025
|
-
<span class="p"></</span><span class="nt">blockquote</span><span class="p">></span>
|
|
1026
|
-
</pre>
|
|
1027
|
-
</div>
|
|
1028
|
-
|
|
1029
|
-
<h3 id="tables">
|
|
1030
|
-
Tables
|
|
1031
|
-
</h3>
|
|
1032
|
-
|
|
1033
|
-
<p>
|
|
1034
|
-
Tables can have IALs applied on a separate line after the table:
|
|
1035
|
-
</p>
|
|
1036
|
-
|
|
1037
|
-
<div class="highlight">
|
|
1038
|
-
<pre><span></span>| Key | Value |
|
|
1039
|
-
| --- | <span class=\"emoji\">:---:</span> |
|
|
1040
|
-
| one | 1 |
|
|
1041
|
-
| two | 2 |
|
|
1042
|
-
|
|
1043
|
-
{: <span class="ni">#data</span>-table .striped .bordered}
|
|
1044
|
-
</pre>
|
|
1045
|
-
</div>
|
|
1046
|
-
|
|
1047
|
-
<p>
|
|
1048
|
-
Output:
|
|
1049
|
-
</p>
|
|
1050
|
-
|
|
1051
|
-
<div class="highlight">
|
|
1052
|
-
<pre><span></span><span class="p"><</span><span class="nt">table</span> <span class="na">id</span><span class="o">=</span><span class="s">"data-table"</span> <span class="na">class</span><span class="o">=</span><span class="s">"striped bordered"</span><span class="p">></span>
|
|
1053
|
-
<span class="cm"><!-- table content --></span>
|
|
1054
|
-
<span class="p"></</span><span class="nt">table</span><span class="p">></span>
|
|
1055
|
-
</pre>
|
|
1056
|
-
</div>
|
|
1057
|
-
|
|
1058
|
-
<p>
|
|
1059
|
-
<strong>Pandoc table_attributes extension:</strong>
|
|
1060
|
-
Apex also supports Pandoc’s <code>table_attributes</code> extension, which allows IAL attributes to be specified in table captions. When using Pandoc-style captions with the <code>: Caption</code> syntax, IAL attributes in the caption are extracted and applied to the table:
|
|
1061
|
-
</p>
|
|
1062
|
-
|
|
1063
|
-
<div class="highlight">
|
|
1064
|
-
<pre><span></span>| Key | Value |
|
|
1065
|
-
| --- | <span class=\"emoji\">:---:</span> |
|
|
1066
|
-
| one | 1 |
|
|
1067
|
-
| two | 2 |
|
|
1068
|
-
|
|
1069
|
-
: Key value table {#table-id .testing key="value"}
|
|
1070
|
-
</pre>
|
|
1071
|
-
</div>
|
|
1072
|
-
|
|
1073
|
-
<p>
|
|
1074
|
-
This is equivalent to:
|
|
1075
|
-
</p>
|
|
1076
|
-
|
|
1077
|
-
<div class="highlight">
|
|
1078
|
-
<pre><span></span>| Key | Value |
|
|
1079
|
-
| --- | <span class=\"emoji\">:---:</span> |
|
|
1080
|
-
| one | 1 |
|
|
1081
|
-
| two | 2 |
|
|
1082
|
-
|
|
1083
|
-
{: <span class="ni">#table</span>-id .testing key="value"}
|
|
1084
|
-
</pre>
|
|
1085
|
-
</div>
|
|
1086
|
-
|
|
1087
|
-
<p>
|
|
1088
|
-
Both Kramdown-style IALs (<code>{: #id .class}</code>) and Pandoc-style IALs without the colon (<code>{#id .class}</code>) are supported in table captions.
|
|
1089
|
-
<strong>Note:</strong> The <code>: Caption</code> syntax only works when adjacent to a table to avoid conflicts with definition list syntax. See <a href="Syntax.html">Syntax</a> for more details on table captions.
|
|
1090
|
-
</p>
|
|
1091
|
-
|
|
1092
|
-
<h2 id="inline-ials">
|
|
1093
|
-
Inline IALs
|
|
1094
|
-
</h2>
|
|
1095
|
-
|
|
1096
|
-
<p>
|
|
1097
|
-
Inline IALs appear immediately after the element they apply to, within the same paragraph.
|
|
1098
|
-
</p>
|
|
1099
|
-
|
|
1100
|
-
<h3 id="links">
|
|
1101
|
-
Links
|
|
1102
|
-
</h3>
|
|
1103
|
-
|
|
1104
|
-
<div class="highlight">
|
|
1105
|
-
<pre><span></span>This is a [<span class="nt">regular link</span>](<span class="na">https://example.com</span>) without attributes.
|
|
1106
|
-
|
|
1107
|
-
Here's a [<span class="nt">styled link</span>](<span class="na">https://example.com</span>){:.button} with a button class.
|
|
1108
|
-
|
|
1109
|
-
Here's a [<span class="nt">Pandoc-style link</span>](<span class="na">https://example.com</span>){#link-id .button} with attributes.
|
|
1110
|
-
|
|
1111
|
-
You can have [<span class="nt">multiple links</span>](<span class="na">https://example.com</span>){:.link-primary} with [<span class="nt">different classes</span>](<span class="na">https://example.com</span>){:.link-secondary} in the same paragraph.
|
|
1112
|
-
|
|
1113
|
-
A link with [<span class="nt">custom attributes</span>](<span class="na">https://example.com</span>){:rel="nofollow" title="External Link"}.
|
|
1114
|
-
</pre>
|
|
1115
|
-
</div>
|
|
1116
|
-
|
|
1117
|
-
<p>
|
|
1118
|
-
Output:
|
|
1119
|
-
</p>
|
|
1120
|
-
|
|
1121
|
-
<div class="highlight">
|
|
1122
|
-
<pre><span></span><span class="p"><</span><span class="nt">p</span><span class="p">></span>This is a <span class="p"><</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">"https://example.com"</span><span class="p">></span>regular link<span class="p"></</span><span class="nt">a</span><span class="p">></span> without attributes.<span class="p"></</span><span class="nt">p</span><span class="p">></span>
|
|
1123
|
-
<span class="p"><</span><span class="nt">p</span><span class="p">></span>Here's a <span class="p"><</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">"https://example.com"</span> <span class="na">class</span><span class="o">=</span><span class="s">"button"</span><span class="p">></span>styled link<span class="p"></</span><span class="nt">a</span><span class="p">></span> with a button class.<span class="p"></</span><span class="nt">p</span><span class="p">></span>
|
|
1124
|
-
<span class="p"><</span><span class="nt">p</span><span class="p">></span>Here's a <span class="p"><</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">"https://example.com"</span> <span class="na">id</span><span class="o">=</span><span class="s">"link-id"</span> <span class="na">class</span><span class="o">=</span><span class="s">"button"</span><span class="p">></span>Pandoc-style link<span class="p"></</span><span class="nt">a</span><span class="p">></span> with attributes.<span class="p"></</span><span class="nt">p</span><span class="p">></span>
|
|
1125
|
-
<span class="p"><</span><span class="nt">p</span><span class="p">></span>You can have <span class="p"><</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">"https://example.com"</span> <span class="na">class</span><span class="o">=</span><span class="s">"link-primary"</span><span class="p">></span>multiple links<span class="p"></</span><span class="nt">a</span><span class="p">></span> with <span class="p"><</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">"https://example.com"</span> <span class="na">class</span><span class="o">=</span><span class="s">"link-secondary"</span><span class="p">></span>different classes<span class="p"></</span><span class="nt">a</span><span class="p">></span> in the same paragraph.<span class="p"></</span><span class="nt">p</span><span class="p">></span>
|
|
1126
|
-
<span class="p"><</span><span class="nt">p</span><span class="p">></span>A link with <span class="p"><</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">"https://example.com"</span> <span class="na">rel</span><span class="o">=</span><span class="s">"nofollow"</span> <span class="na">title</span><span class="o">=</span><span class="s">"External Link"</span><span class="p">></span>custom attributes<span class="p"></</span><span class="nt">a</span><span class="p">></span>.<span class="p"></</span><span class="nt">p</span><span class="p">></span>
|
|
1127
|
-
</pre>
|
|
1128
|
-
</div>
|
|
1129
|
-
|
|
1130
|
-
<h3 id="images">
|
|
1131
|
-
Images
|
|
1132
|
-
</h3>
|
|
1133
|
-
|
|
1134
|
-
<div class="highlight">
|
|
1135
|
-
<pre><span></span>
|
|
1136
|
-
|
|
1137
|
-

|
|
1138
|
-
|
|
1139
|
-

|
|
1140
|
-
|
|
1141
|
-

|
|
1142
|
-
</pre>
|
|
1143
|
-
</div>
|
|
1144
|
-
|
|
1145
|
-
<p>
|
|
1146
|
-
Output:
|
|
1147
|
-
</p>
|
|
1148
|
-
|
|
1149
|
-
<div class="highlight">
|
|
1150
|
-
<pre><span></span><span class="p"><</span><span class="nt">p</span><span class="p">><</span><span class="nt">img</span> <span class="na">src</span><span class="o">=</span><span class="s">"image.png"</span> <span class="na">alt</span><span class="o">=</span><span class="s">"Regular image"</span> <span class="p">/></</span><span class="nt">p</span><span class="p">></span>
|
|
1151
|
-
<span class="p"><</span><span class="nt">p</span><span class="p">><</span><span class="nt">img</span> <span class="na">src</span><span class="o">=</span><span class="s">"logo.png"</span> <span class="na">alt</span><span class="o">=</span><span class="s">"Styled image"</span> <span class="na">class</span><span class="o">=</span><span class="s">"logo centered"</span> <span class="p">/></</span><span class="nt">p</span><span class="p">></span>
|
|
1152
|
-
<span class="p"><</span><span class="nt">p</span><span class="p">><</span><span class="nt">img</span> <span class="na">src</span><span class="o">=</span><span class="s">"icon.png"</span> <span class="na">alt</span><span class="o">=</span><span class="s">"Image with ID"</span> <span class="na">id</span><span class="o">=</span><span class="s">"site-icon"</span> <span class="na">class</span><span class="o">=</span><span class="s">"icon"</span> <span class="p">/></</span><span class="nt">p</span><span class="p">></span>
|
|
1153
|
-
<span class="p"><</span><span class="nt">p</span><span class="p">><</span><span class="nt">img</span> <span class="na">src</span><span class="o">=</span><span class="s">"photo.jpg"</span> <span class="na">alt</span><span class="o">=</span><span class="s">"Image with title"</span> <span class="na">title</span><span class="o">=</span><span class="s">"Photo Title"</span> <span class="na">alt</span><span class="o">=</span><span class="s">"Photo description"</span> <span class="p">/></</span><span class="nt">p</span><span class="p">></span>
|
|
1154
|
-
</pre>
|
|
1155
|
-
</div>
|
|
1156
|
-
|
|
1157
|
-
<h3 id="multimarkdown-style-image-attributes">
|
|
1158
|
-
MultiMarkdown-style image attributes
|
|
1159
|
-
</h3>
|
|
1160
|
-
|
|
1161
|
-
<p>
|
|
1162
|
-
In <strong>MultiMarkdown</strong> and <strong>unified</strong> modes, Apex also understands
|
|
1163
|
-
MultiMarkdown-style attributes on images, both inline and reference-style.
|
|
1164
|
-
These attributes are parsed before the Markdown is sent to the core parser and
|
|
1165
|
-
are applied to the resulting <code><img></code> element in the same way as IALs.
|
|
1166
|
-
</p>
|
|
1167
|
-
|
|
1168
|
-
<h4 id="inline-images">
|
|
1169
|
-
Inline images
|
|
1170
|
-
</h4>
|
|
1171
|
-
|
|
1172
|
-
<p>
|
|
1173
|
-
You can place attributes directly inside the image parentheses:
|
|
1174
|
-
</p>
|
|
1175
|
-
|
|
1176
|
-
<div class="highlight">
|
|
1177
|
-
<pre><span></span>
|
|
1178
|
-
|
|
1179
|
-

|
|
1180
|
-
|
|
1181
|
-

|
|
1182
|
-
|
|
1183
|
-

|
|
1184
|
-
</pre>
|
|
1185
|
-
</div>
|
|
1186
|
-
|
|
1187
|
-
<p>
|
|
1188
|
-
Produces HTML equivalent to:
|
|
1189
|
-
</p>
|
|
1190
|
-
|
|
1191
|
-
<div class="highlight">
|
|
1192
|
-
<pre><span></span><span class="p"><</span><span class="nt">img</span> <span class="na">src</span><span class="o">=</span><span class="s">"/images/test-inline-1.jpg"</span> <span class="na">alt</span><span class="o">=</span><span class="s">"Inline no title"</span> <span class="na">width</span><span class="o">=</span><span class="s">"200"</span><span class="p">></span>
|
|
1193
|
-
<span class="p"><</span><span class="nt">img</span> <span class="na">src</span><span class="o">=</span><span class="s">"/images/test-inline-2.jpg"</span> <span class="na">alt</span><span class="o">=</span><span class="s">"Inline with title"</span> <span class="na">title</span><span class="o">=</span><span class="s">"Falafel"</span> <span class="na">width</span><span class="o">=</span><span class="s">"300"</span><span class="p">></span>
|
|
1194
|
-
<span class="p"><</span><span class="nt">img</span> <span class="na">src</span><span class="o">=</span><span class="s">"/images/test-inline-3.jpg"</span> <span class="na">alt</span><span class="o">=</span><span class="s">"Inline percent"</span> <span class="na">style</span><span class="o">=</span><span class="s">"width: 50%"</span><span class="p">></span>
|
|
1195
|
-
<span class="p"><</span><span class="nt">img</span> <span class="na">src</span><span class="o">=</span><span class="s">"/images/test-inline-4.jpg"</span> <span class="na">alt</span><span class="o">=</span><span class="s">"Inline classes"</span> <span class="na">class</span><span class="o">=</span><span class="s">"center shadow"</span> <span class="na">width</span><span class="o">=</span><span class="s">"250"</span> <span class="na">style</span><span class="o">=</span><span class="s">"height: 60%"</span> <span class="na">title</span><span class="o">=</span><span class="s">"Caption"</span><span class="p">></span>
|
|
1196
|
-
</pre>
|
|
1197
|
-
</div>
|
|
1198
|
-
|
|
1199
|
-
<h4 id="reference-style-images">
|
|
1200
|
-
Reference-style images
|
|
1201
|
-
</h4>
|
|
1202
|
-
|
|
1203
|
-
<p>
|
|
1204
|
-
The same attribute syntax works on reference definitions:
|
|
1205
|
-
</p>
|
|
1206
|
-
|
|
1207
|
-
<div class="highlight">
|
|
1208
|
-
<pre><span></span>
|
|
1209
|
-
|
|
1210
|
-

|
|
1211
|
-
|
|
1212
|
-

|
|
1213
|
-
|
|
1214
|
-

|
|
1215
|
-
</pre>
|
|
1216
|
-
</div>
|
|
1217
|
-
|
|
1218
|
-
<p>
|
|
1219
|
-
Here Apex stores the attributes on the reference definition and applies them to
|
|
1220
|
-
every image that uses that reference, including images inside fenced divs
|
|
1221
|
-
(::: … :::) and other HTML elements with markdown=“1”.
|
|
1222
|
-
</p>
|
|
1223
|
-
|
|
1224
|
-
<h3 id="bear-image-attribute-comments">
|
|
1225
|
-
Bear image attribute comments
|
|
1226
|
-
</h3>
|
|
1227
|
-
|
|
1228
|
-
<p>
|
|
1229
|
-
Bear stores image metadata in a JSON comment immediately after the image.
|
|
1230
|
-
Apex reads supported values from the comment while preserving the comment in
|
|
1231
|
-
the rendered output:
|
|
1232
|
-
</p>
|
|
1233
|
-
|
|
1234
|
-
<div class="highlight">
|
|
1235
|
-
<pre><span></span><!-- {"width":259} -->
|
|
1236
|
-
</pre>
|
|
1237
|
-
</div>
|
|
1238
|
-
|
|
1239
|
-
<p>
|
|
1240
|
-
With raw HTML enabled:
|
|
1241
|
-
</p>
|
|
1242
|
-
|
|
1243
|
-
<div class="highlight">
|
|
1244
|
-
<pre><span></span><span class="p"><</span><span class="nt">img</span> <span class="na">src</span><span class="o">=</span><span class="s">"emperor-1.jpg"</span> <span class="na">alt</span><span class="o">=</span><span class="s">""</span> <span class="na">width</span><span class="o">=</span><span class="s">"259"</span><span class="p">></span><span class="cm"><!-- {"width":259} --></span>
|
|
1245
|
-
</pre>
|
|
1246
|
-
</div>
|
|
1247
|
-
|
|
1248
|
-
<p>
|
|
1249
|
-
The comment must appear on the same line and immediately follow the image,
|
|
1250
|
-
apart from optional spaces or tabs:
|
|
1251
|
-
</p>
|
|
1252
|
-
|
|
1253
|
-
<div class="highlight">
|
|
1254
|
-
<pre><span></span> <!-- {"width":259,"class":"portrait"} -->
|
|
1255
|
-
</pre>
|
|
1256
|
-
</div>
|
|
1257
|
-
|
|
1258
|
-
<p>
|
|
1259
|
-
The syntax is recognized in CommonMark, GFM, MultiMarkdown, and unified
|
|
1260
|
-
modes. Kramdown mode does not interpret Bear comments as image attributes.
|
|
1261
|
-
</p>
|
|
1262
|
-
|
|
1263
|
-
<h4 id="reference-images">
|
|
1264
|
-
Reference images
|
|
1265
|
-
</h4>
|
|
1266
|
-
|
|
1267
|
-
<p>
|
|
1268
|
-
A Bear comment on an explicit reference image applies only to that use:
|
|
1269
|
-
</p>
|
|
1270
|
-
|
|
1271
|
-
<div class="highlight">
|
|
1272
|
-
<pre><span></span>
|
|
1273
|
-
<!-- {"width":520} -->
|
|
1274
|
-
|
|
1275
|
-
[<span class="nl">emperor</span>]: <span class="na">emperor-1.jpg</span>
|
|
1276
|
-
</pre>
|
|
1277
|
-
</div>
|
|
1278
|
-
|
|
1279
|
-
<p>
|
|
1280
|
-
A comment on the reference definition supplies attributes to every image
|
|
1281
|
-
that uses the reference:
|
|
1282
|
-
</p>
|
|
1283
|
-
|
|
1284
|
-
<div class="highlight">
|
|
1285
|
-
<pre><span></span>
|
|
1286
|
-

|
|
1287
|
-
|
|
1288
|
-
<!-- {"width":259,"height":194} -->
|
|
1289
|
-
</pre>
|
|
1290
|
-
</div>
|
|
1291
|
-
|
|
1292
|
-
<p>
|
|
1293
|
-
Definition attributes are the baseline. When an explicit
|
|
1294
|
-
<code>![alt][reference]</code> use has its own Bear comment, its values override
|
|
1295
|
-
conflicting definition attributes for that image only. Existing image
|
|
1296
|
-
attribute syntaxes are merged first, so an adjacent Bear comment wins when
|
|
1297
|
-
the same key is specified more than once.
|
|
1298
|
-
</p>
|
|
1299
|
-
|
|
1300
|
-
<h4 id="supported-values-and-safety">
|
|
1301
|
-
Supported values and safety
|
|
1302
|
-
</h4>
|
|
1303
|
-
|
|
1304
|
-
<p>
|
|
1305
|
-
Apex allows the same image attributes accepted by its existing IAL and
|
|
1306
|
-
MultiMarkdown handling:
|
|
1307
|
-
</p>
|
|
1308
|
-
|
|
1309
|
-
<ul>
|
|
1310
|
-
|
|
1311
|
-
<li>
|
|
1312
|
-
<code>width</code>
|
|
1313
|
-
</li>
|
|
1314
|
-
|
|
1315
|
-
<li>
|
|
1316
|
-
<code>height</code>
|
|
1317
|
-
</li>
|
|
1318
|
-
|
|
1319
|
-
<li>
|
|
1320
|
-
<code>style</code>
|
|
1321
|
-
</li>
|
|
1322
|
-
|
|
1323
|
-
<li>
|
|
1324
|
-
<code>class</code>
|
|
1325
|
-
</li>
|
|
1326
|
-
|
|
1327
|
-
<li>
|
|
1328
|
-
<code>id</code>
|
|
1329
|
-
</li>
|
|
1330
|
-
|
|
1331
|
-
<li>
|
|
1332
|
-
<code>rel</code>
|
|
1333
|
-
</li>
|
|
1334
|
-
|
|
1335
|
-
<li>
|
|
1336
|
-
<code>title</code>
|
|
1337
|
-
Unknown keys and object or array values are ignored. <code>width</code> and <code>height</code>
|
|
1338
|
-
accept strings or numbers; the other allowed keys accept strings only.
|
|
1339
|
-
Boolean and <code>null</code> values do not add attributes. Invalid JSON does not add
|
|
1340
|
-
any Bear attributes.
|
|
1341
|
-
With raw HTML enabled, the source comment remains in the output. A comment on
|
|
1342
|
-
a reference definition is rendered once, not once per image use. In safe
|
|
1343
|
-
CommonMark output, Apex still applies the supported attributes, but cmark’s
|
|
1344
|
-
normal safe-HTML behavior replaces the comment with
|
|
1345
|
-
<code><!-- raw HTML omitted --></code>.
|
|
1346
|
-
</li>
|
|
1347
|
-
|
|
1348
|
-
</ul>
|
|
1349
|
-
|
|
1350
|
-
<h4 id="url-handling-and-attributes">
|
|
1351
|
-
URL handling and attributes
|
|
1352
|
-
</h4>
|
|
1353
|
-
|
|
1354
|
-
<p>
|
|
1355
|
-
In both inline and reference-style image syntax, a <strong>space after the URL</strong>
|
|
1356
|
-
separates the URL from attributes. The URL is everything before that space (or
|
|
1357
|
-
before the first <code>key=value</code> or <code>@2x</code>). URLs that contain a protocol
|
|
1358
|
-
(http://, https://) are not URL-encoded by Apex, so query parameters
|
|
1359
|
-
(e.g. <code>?size=250x83</code>) and ampersands in the URL are preserved in the output.
|
|
1360
|
-
You can safely use long or parameterized image URLs and add attributes
|
|
1361
|
-
after a space:
|
|
1362
|
-
</p>
|
|
1363
|
-
|
|
1364
|
-
<div class="highlight">
|
|
1365
|
-
<pre><span></span>
|
|
1366
|
-
</pre>
|
|
1367
|
-
</div>
|
|
1368
|
-
|
|
1369
|
-
<h4 id="width-and-height-handling">
|
|
1370
|
-
Width and height handling
|
|
1371
|
-
</h4>
|
|
1372
|
-
|
|
1373
|
-
<p>
|
|
1374
|
-
When MultiMarkdown-style attributes or IALs specify <code>width</code> or <code>height</code>, Apex
|
|
1375
|
-
normalizes them as follows (in all modes that support image attributes):
|
|
1376
|
-
</p>
|
|
1377
|
-
|
|
1378
|
-
<ul>
|
|
1379
|
-
|
|
1380
|
-
<li>
|
|
1381
|
-
Percentages such as <code>width=50%</code> become <code>style="width: 50%"</code>.
|
|
1382
|
-
</li>
|
|
1383
|
-
|
|
1384
|
-
<li>
|
|
1385
|
-
Integer pixel values such as <code>width=300px</code> become <code>width="300"</code>.
|
|
1386
|
-
</li>
|
|
1387
|
-
|
|
1388
|
-
<li>
|
|
1389
|
-
Bare integers such as <code>width=300</code> become <code>width="300"</code>.
|
|
1390
|
-
</li>
|
|
1391
|
-
|
|
1392
|
-
<li>
|
|
1393
|
-
Other units (em, rem, vw, vh, etc.) are added to the <code>style</code> attribute
|
|
1394
|
-
(for example <code>width=5em height=10rem</code> becomes
|
|
1395
|
-
<code>style="width: 5em; height: 10rem"</code>).
|
|
1396
|
-
</li>
|
|
1397
|
-
|
|
1398
|
-
</ul>
|
|
1399
|
-
|
|
1400
|
-
<h3 id="emphasis-and-strong">
|
|
1401
|
-
Emphasis and Strong
|
|
1402
|
-
</h3>
|
|
1403
|
-
|
|
1404
|
-
<div class="highlight">
|
|
1405
|
-
<pre><span></span>This paragraph has <span class="gs">**bold text**</span>{:.bold-style} with a custom class and <span class="ge">*italic text*</span>{:.italic-style} with another class.
|
|
1406
|
-
|
|
1407
|
-
You can combine <span class="gs">**bold**</span>{:.bold} and <span class="ge">*italic*</span>{:.italic} in the same paragraph with different styles.
|
|
1408
|
-
|
|
1409
|
-
Nested **bold with <span class="ge">*italic*</span>{:.nested-italic} inside**{:.bold-wrapper} works too.
|
|
1410
|
-
</pre>
|
|
1411
|
-
</div>
|
|
1412
|
-
|
|
1413
|
-
<p>
|
|
1414
|
-
Output:
|
|
1415
|
-
</p>
|
|
1416
|
-
|
|
1417
|
-
<div class="highlight">
|
|
1418
|
-
<pre><span></span><span class="p"><</span><span class="nt">p</span><span class="p">></span>This paragraph has <span class="p"><</span><span class="nt">strong</span> <span class="na">class</span><span class="o">=</span><span class="s">"bold-style"</span><span class="p">></span>bold text<span class="p"></</span><span class="nt">strong</span><span class="p">></span> with a custom class and <span class="p"><</span><span class="nt">em</span> <span class="na">class</span><span class="o">=</span><span class="s">"italic-style"</span><span class="p">></span>italic text<span class="p"></</span><span class="nt">em</span><span class="p">></span> with another class.<span class="p"></</span><span class="nt">p</span><span class="p">></span>
|
|
1419
|
-
<span class="p"><</span><span class="nt">p</span><span class="p">></span>You can combine <span class="p"><</span><span class="nt">strong</span> <span class="na">class</span><span class="o">=</span><span class="s">"bold"</span><span class="p">></span>bold<span class="p"></</span><span class="nt">strong</span><span class="p">></span> and <span class="p"><</span><span class="nt">em</span> <span class="na">class</span><span class="o">=</span><span class="s">"italic"</span><span class="p">></span>italic<span class="p"></</span><span class="nt">em</span><span class="p">></span> in the same paragraph with different styles.<span class="p"></</span><span class="nt">p</span><span class="p">></span>
|
|
1420
|
-
<span class="p"><</span><span class="nt">p</span><span class="p">></span>Nested <span class="p"><</span><span class="nt">strong</span> <span class="na">class</span><span class="o">=</span><span class="s">"bold-wrapper"</span><span class="p">></span>bold with <span class="p"><</span><span class="nt">em</span> <span class="na">class</span><span class="o">=</span><span class="s">"nested-italic"</span><span class="p">></span>italic<span class="p"></</span><span class="nt">em</span><span class="p">></span> inside<span class="p"></</span><span class="nt">strong</span><span class="p">></span> works too.<span class="p"></</span><span class="nt">p</span><span class="p">></span>
|
|
1421
|
-
</pre>
|
|
1422
|
-
</div>
|
|
1423
|
-
|
|
1424
|
-
<h3 id="code-spans">
|
|
1425
|
-
Code Spans
|
|
1426
|
-
</h3>
|
|
1427
|
-
|
|
1428
|
-
<div class="highlight">
|
|
1429
|
-
<pre><span></span>Use <span class="sb">`inline code`</span>{:.code-inline} for code snippets with styling.
|
|
1430
|
-
|
|
1431
|
-
You can have multiple <span class="sb">`code spans`</span>{:.code-1} and <span class="sb">`more code`</span>{:.code-2} with different classes.
|
|
1432
|
-
</pre>
|
|
1433
|
-
</div>
|
|
1434
|
-
|
|
1435
|
-
<p>
|
|
1436
|
-
Output:
|
|
1437
|
-
</p>
|
|
1438
|
-
|
|
1439
|
-
<div class="highlight">
|
|
1440
|
-
<pre><span></span><span class="p"><</span><span class="nt">p</span><span class="p">></span>Use <span class="p"><</span><span class="nt">code</span> <span class="na">class</span><span class="o">=</span><span class="s">"code-inline"</span><span class="p">></span>inline code<span class="p"></</span><span class="nt">code</span><span class="p">></span> for code snippets with styling.<span class="p"></</span><span class="nt">p</span><span class="p">></span>
|
|
1441
|
-
<span class="p"><</span><span class="nt">p</span><span class="p">></span>You can have multiple <span class="p"><</span><span class="nt">code</span> <span class="na">class</span><span class="o">=</span><span class="s">"code-1"</span><span class="p">></span>code spans<span class="p"></</span><span class="nt">code</span><span class="p">></span> and <span class="p"><</span><span class="nt">code</span> <span class="na">class</span><span class="o">=</span><span class="s">"code-2"</span><span class="p">></span>more code<span class="p"></</span><span class="nt">code</span><span class="p">></span> with different classes.<span class="p"></</span><span class="nt">p</span><span class="p">></span>
|
|
1442
|
-
</pre>
|
|
1443
|
-
</div>
|
|
1444
|
-
|
|
1445
|
-
<h2 id="attribute-syntax">
|
|
1446
|
-
Attribute Syntax
|
|
1447
|
-
</h2>
|
|
1448
|
-
|
|
1449
|
-
<p>
|
|
1450
|
-
IALs support three types of attributes:
|
|
1451
|
-
</p>
|
|
1452
|
-
|
|
1453
|
-
<h3 id="1-ids">
|
|
1454
|
-
1. IDs
|
|
1455
|
-
</h3>
|
|
1456
|
-
|
|
1457
|
-
<p>
|
|
1458
|
-
Use <code>#</code> followed by the ID name:
|
|
1459
|
-
</p>
|
|
1460
|
-
|
|
1461
|
-
<div class="highlight">
|
|
1462
|
-
<pre><span></span><span class="gh"># Heading {: #section-1}</span>
|
|
1463
|
-
</pre>
|
|
1464
|
-
</div>
|
|
1465
|
-
|
|
1466
|
-
<p>
|
|
1467
|
-
Output: <code><h1 id="section-1">Heading</h1></code>
|
|
1468
|
-
</p>
|
|
1469
|
-
|
|
1470
|
-
<h3 id="2-classes">
|
|
1471
|
-
2. Classes
|
|
1472
|
-
</h3>
|
|
1473
|
-
|
|
1474
|
-
<p>
|
|
1475
|
-
Use <code>.</code> followed by the class name. Multiple classes can be specified:
|
|
1476
|
-
</p>
|
|
1477
|
-
|
|
1478
|
-
<div class="highlight">
|
|
1479
|
-
<pre><span></span>Paragraph.
|
|
1480
|
-
|
|
1481
|
-
{: .important .note .highlight}
|
|
1482
|
-
</pre>
|
|
1483
|
-
</div>
|
|
1484
|
-
|
|
1485
|
-
<p>
|
|
1486
|
-
Output: <code><p class="important note highlight">Paragraph.</p></code>
|
|
1487
|
-
<strong>Note:</strong> Multiple <code>.class</code> specifiers are equivalent to a single <code>class</code> attribute with space-separated values.
|
|
1488
|
-
</p>
|
|
1489
|
-
|
|
1490
|
-
<h3 id="3-key-value-pairs">
|
|
1491
|
-
3. Key-Value Pairs
|
|
1492
|
-
</h3>
|
|
1493
|
-
|
|
1494
|
-
<p>
|
|
1495
|
-
Use <code>key="value"</code> or <code>key='value'</code> for custom attributes. Values can be quoted (single or double quotes) or unquoted:
|
|
1496
|
-
</p>
|
|
1497
|
-
|
|
1498
|
-
<div class="highlight">
|
|
1499
|
-
<pre><span></span>Paragraph.
|
|
1500
|
-
|
|
1501
|
-
{: title="Important Note" lang="en" data-id="123"}
|
|
1502
|
-
|
|
1503
|
-
Link with attributes.
|
|
1504
|
-
[<span class="nt">Click here</span>](<span class="na">url</span>){:rel="nofollow" target="_blank"}
|
|
1505
|
-
</pre>
|
|
1506
|
-
</div>
|
|
1507
|
-
|
|
1508
|
-
<p>
|
|
1509
|
-
Output:
|
|
1510
|
-
</p>
|
|
1511
|
-
|
|
1512
|
-
<div class="highlight">
|
|
1513
|
-
<pre><span></span><span class="p"><</span><span class="nt">p</span> <span class="na">title</span><span class="o">=</span><span class="s">"Important Note"</span> <span class="na">lang</span><span class="o">=</span><span class="s">"en"</span> <span class="na">data-id</span><span class="o">=</span><span class="s">"123"</span><span class="p">></span>Paragraph.<span class="p"></</span><span class="nt">p</span><span class="p">></span>
|
|
1514
|
-
<span class="p"><</span><span class="nt">p</span><span class="p">></span>Link with attributes.
|
|
1515
|
-
<span class="p"><</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">"url"</span> <span class="na">rel</span><span class="o">=</span><span class="s">"nofollow"</span> <span class="na">target</span><span class="o">=</span><span class="s">"_blank"</span><span class="p">></span>Click here<span class="p"></</span><span class="nt">a</span><span class="p">></</span><span class="nt">p</span><span class="p">></span>
|
|
1516
|
-
</pre>
|
|
1517
|
-
</div>
|
|
1518
|
-
|
|
1519
|
-
<p>
|
|
1520
|
-
<strong>Quoted values:</strong> Use quotes when values contain spaces or special characters:
|
|
1521
|
-
</p>
|
|
1522
|
-
|
|
1523
|
-
<div class="highlight">
|
|
1524
|
-
<pre><span></span>{: title="This is a title with spaces" lang="en-US"}
|
|
1525
|
-
</pre>
|
|
1526
|
-
</div>
|
|
1527
|
-
|
|
1528
|
-
<p>
|
|
1529
|
-
<strong>Unquoted values:</strong> Simple values without spaces can be unquoted:
|
|
1530
|
-
</p>
|
|
1531
|
-
|
|
1532
|
-
<div class="highlight">
|
|
1533
|
-
<pre><span></span>{: lang=en data-visible=true}
|
|
1534
|
-
</pre>
|
|
1535
|
-
</div>
|
|
1536
|
-
|
|
1537
|
-
<p>
|
|
1538
|
-
<strong>Escaping quotes:</strong> Inside quoted values, escape quotes with backslash:
|
|
1539
|
-
</p>
|
|
1540
|
-
|
|
1541
|
-
<div class="highlight">
|
|
1542
|
-
<pre><span></span>{: title="He said \"Hello\""}
|
|
1543
|
-
</pre>
|
|
1544
|
-
</div>
|
|
1545
|
-
|
|
1546
|
-
<h3 id="combining-attributes">
|
|
1547
|
-
Combining Attributes
|
|
1548
|
-
</h3>
|
|
1549
|
-
|
|
1550
|
-
<p>
|
|
1551
|
-
All three types can be combined in a single IAL:
|
|
1552
|
-
</p>
|
|
1553
|
-
|
|
1554
|
-
<div class="highlight">
|
|
1555
|
-
<pre><span></span><span class="gh"># Heading</span>
|
|
1556
|
-
|
|
1557
|
-
{: <span class="ni">#section</span>-1 .important .highlight title="Section Title" lang="en"}
|
|
1558
|
-
</pre>
|
|
1559
|
-
</div>
|
|
1560
|
-
|
|
1561
|
-
<p>
|
|
1562
|
-
Output: <code><h1 id="section-1" class="important highlight" title="Section Title" lang="en">Heading</h1></code>
|
|
1563
|
-
</p>
|
|
1564
|
-
|
|
1565
|
-
<h2 id="attribute-list-definitions-alds">
|
|
1566
|
-
Attribute List Definitions (ALDs)
|
|
1567
|
-
</h2>
|
|
1568
|
-
|
|
1569
|
-
<p>
|
|
1570
|
-
ALDs let you define reusable attribute sets that can be referenced multiple times. This is useful for maintaining consistent styling across a document.
|
|
1571
|
-
</p>
|
|
1572
|
-
|
|
1573
|
-
<h3 id="defining-alds">
|
|
1574
|
-
Defining ALDs
|
|
1575
|
-
</h3>
|
|
1576
|
-
|
|
1577
|
-
<p>
|
|
1578
|
-
ALDs use the syntax <code>{<span class=\"emoji\">:ref-name:</span> attributes}</code> and can appear anywhere in your document (though typically at the end for organization):
|
|
1579
|
-
</p>
|
|
1580
|
-
|
|
1581
|
-
<div class="highlight">
|
|
1582
|
-
<pre><span></span><span class="gh"># Header 1</span>
|
|
1583
|
-
|
|
1584
|
-
{:header-style}
|
|
1585
|
-
|
|
1586
|
-
<span class="gh"># Header 2</span>
|
|
1587
|
-
|
|
1588
|
-
{:header-style}
|
|
1589
|
-
|
|
1590
|
-
<span class="gh"># Header 3</span>
|
|
1591
|
-
|
|
1592
|
-
{:header-style}
|
|
1593
|
-
</pre>
|
|
1594
|
-
</div>
|
|
1595
|
-
|
|
1596
|
-
<p>
|
|
1597
|
-
Output:
|
|
1598
|
-
</p>
|
|
1599
|
-
|
|
1600
|
-
<div class="highlight">
|
|
1601
|
-
<pre><span></span><span class="p"><</span><span class="nt">h1</span> <span class="na">id</span><span class="o">=</span><span class="s">"section-title"</span> <span class="na">class</span><span class="o">=</span><span class="s">"large bold"</span> <span class="na">lang</span><span class="o">=</span><span class="s">"en"</span><span class="p">></span>Header 1<span class="p"></</span><span class="nt">h1</span><span class="p">></span>
|
|
1602
|
-
<span class="p"><</span><span class="nt">h1</span> <span class="na">id</span><span class="o">=</span><span class="s">"section-title"</span> <span class="na">class</span><span class="o">=</span><span class="s">"large bold"</span> <span class="na">lang</span><span class="o">=</span><span class="s">"en"</span><span class="p">></span>Header 2<span class="p"></</span><span class="nt">h1</span><span class="p">></span>
|
|
1603
|
-
<span class="p"><</span><span class="nt">h1</span> <span class="na">id</span><span class="o">=</span><span class="s">"section-title"</span> <span class="na">class</span><span class="o">=</span><span class="s">"large bold"</span> <span class="na">lang</span><span class="o">=</span><span class="s">"en"</span><span class="p">></span>Header 3<span class="p"></</span><span class="nt">h1</span><span class="p">></span>
|
|
1604
|
-
</pre>
|
|
1605
|
-
</div>
|
|
1606
|
-
|
|
1607
|
-
<h3 id="ald-syntax">
|
|
1608
|
-
ALD Syntax
|
|
1609
|
-
</h3>
|
|
1610
|
-
|
|
1611
|
-
<p>
|
|
1612
|
-
ALD definitions follow the same attribute syntax as IALs:
|
|
1613
|
-
</p>
|
|
1614
|
-
|
|
1615
|
-
<div class="highlight">
|
|
1616
|
-
<pre><span></span>
|
|
1617
|
-
</pre>
|
|
1618
|
-
</div>
|
|
1619
|
-
|
|
1620
|
-
<h3 id="referencing-alds">
|
|
1621
|
-
Referencing ALDs
|
|
1622
|
-
</h3>
|
|
1623
|
-
|
|
1624
|
-
<p>
|
|
1625
|
-
Reference an ALD in an IAL using just the reference name:
|
|
1626
|
-
</p>
|
|
1627
|
-
|
|
1628
|
-
<div class="highlight">
|
|
1629
|
-
<pre><span></span><span class="gh"># Heading</span>
|
|
1630
|
-
|
|
1631
|
-
{:my-style}
|
|
1632
|
-
|
|
1633
|
-
Paragraph.
|
|
1634
|
-
|
|
1635
|
-
{:my-style}
|
|
1636
|
-
</pre>
|
|
1637
|
-
</div>
|
|
1638
|
-
|
|
1639
|
-
<p>
|
|
1640
|
-
If the ALD <code>{<span class=\"emoji\">:my-style:</span> ...}</code> is defined, both elements will receive those attributes.
|
|
1641
|
-
</p>
|
|
1642
|
-
|
|
1643
|
-
<h3 id="mixed-usage">
|
|
1644
|
-
Mixed Usage
|
|
1645
|
-
</h3>
|
|
1646
|
-
|
|
1647
|
-
<p>
|
|
1648
|
-
You can mix ALD references with additional attributes in the same IAL. The additional attributes override or extend the ALD:
|
|
1649
|
-
</p>
|
|
1650
|
-
|
|
1651
|
-
<div class="highlight">
|
|
1652
|
-
<pre><span></span><span class="gh"># Heading 1</span>
|
|
1653
|
-
|
|
1654
|
-
{:base-style}
|
|
1655
|
-
|
|
1656
|
-
<span class="gh"># Heading 2</span>
|
|
1657
|
-
|
|
1658
|
-
{:base-style .class3}
|
|
1659
|
-
|
|
1660
|
-
<span class="gh"># Heading 3</span>
|
|
1661
|
-
|
|
1662
|
-
{:base-style <span class="ni">#override</span>-id}
|
|
1663
|
-
|
|
1664
|
-
<span class="gh"># Heading 4</span>
|
|
1665
|
-
|
|
1666
|
-
{:base-style .class3 rel="nofollow"}
|
|
1667
|
-
</pre>
|
|
1668
|
-
</div>
|
|
1669
|
-
|
|
1670
|
-
<p>
|
|
1671
|
-
Output:
|
|
1672
|
-
</p>
|
|
1673
|
-
|
|
1674
|
-
<div class="highlight">
|
|
1675
|
-
<pre><span></span><span class="p"><</span><span class="nt">h1</span> <span class="na">id</span><span class="o">=</span><span class="s">"main"</span> <span class="na">class</span><span class="o">=</span><span class="s">"class1 class2"</span><span class="p">></span>Heading 1<span class="p"></</span><span class="nt">h1</span><span class="p">></span>
|
|
1676
|
-
<span class="p"><</span><span class="nt">h1</span> <span class="na">id</span><span class="o">=</span><span class="s">"main"</span> <span class="na">class</span><span class="o">=</span><span class="s">"class1 class2 class3"</span><span class="p">></span>Heading 2<span class="p"></</span><span class="nt">h1</span><span class="p">></span>
|
|
1677
|
-
<span class="p"><</span><span class="nt">h1</span> <span class="na">id</span><span class="o">=</span><span class="s">"override-id"</span> <span class="na">class</span><span class="o">=</span><span class="s">"class1 class2"</span><span class="p">></span>Heading 3<span class="p"></</span><span class="nt">h1</span><span class="p">></span>
|
|
1678
|
-
<span class="p"><</span><span class="nt">h1</span> <span class="na">id</span><span class="o">=</span><span class="s">"main"</span> <span class="na">class</span><span class="o">=</span><span class="s">"class1 class2 class3"</span> <span class="na">rel</span><span class="o">=</span><span class="s">"nofollow"</span><span class="p">></span>Heading 4<span class="p"></</span><span class="nt">h1</span><span class="p">></span>
|
|
1679
|
-
</pre>
|
|
1680
|
-
</div>
|
|
1681
|
-
|
|
1682
|
-
<p>
|
|
1683
|
-
<strong>Behavior:</strong>
|
|
1684
|
-
</p>
|
|
1685
|
-
|
|
1686
|
-
<ul>
|
|
1687
|
-
|
|
1688
|
-
<li>
|
|
1689
|
-
<strong>Classes</strong>: Additional classes are appended to the ALD classes
|
|
1690
|
-
</li>
|
|
1691
|
-
|
|
1692
|
-
<li>
|
|
1693
|
-
<strong>IDs</strong>: If an ID is specified in the IAL, it overrides the ALD’s ID
|
|
1694
|
-
</li>
|
|
1695
|
-
|
|
1696
|
-
<li>
|
|
1697
|
-
<strong>Key-value attributes</strong>: If a key exists in both ALD and IAL, the IAL value overrides the ALD value
|
|
1698
|
-
</li>
|
|
1699
|
-
|
|
1700
|
-
</ul>
|
|
1701
|
-
|
|
1702
|
-
<h2 id="important-notes">
|
|
1703
|
-
Important Notes
|
|
1704
|
-
</h2>
|
|
1705
|
-
|
|
1706
|
-
<h3 id="block-level-ial-positioning">
|
|
1707
|
-
Block-Level IAL Positioning
|
|
1708
|
-
</h3>
|
|
1709
|
-
|
|
1710
|
-
<p>
|
|
1711
|
-
For block-level elements, the IAL <strong>must</strong> appear immediately after the element with <strong>no blank line</strong> between them:
|
|
1712
|
-
<strong>Correct:</strong>
|
|
1713
|
-
</p>
|
|
1714
|
-
|
|
1715
|
-
<div class="highlight">
|
|
1716
|
-
<pre><span></span>Paragraph text.
|
|
1717
|
-
|
|
1718
|
-
{: .class}
|
|
1719
|
-
</pre>
|
|
1720
|
-
</div>
|
|
1721
|
-
|
|
1722
|
-
<p>
|
|
1723
|
-
<strong>Incorrect:</strong>
|
|
1724
|
-
</p>
|
|
1725
|
-
|
|
1726
|
-
<div class="highlight">
|
|
1727
|
-
<pre><span></span>Paragraph text.
|
|
1728
|
-
|
|
1729
|
-
{: .class}
|
|
1730
|
-
</pre>
|
|
1731
|
-
</div>
|
|
1732
|
-
|
|
1733
|
-
<p>
|
|
1734
|
-
The blank line will cause the IAL to be treated as a separate paragraph.
|
|
1735
|
-
</p>
|
|
1736
|
-
|
|
1737
|
-
<h3 id="inline-ial-positioning">
|
|
1738
|
-
Inline IAL Positioning
|
|
1739
|
-
</h3>
|
|
1740
|
-
|
|
1741
|
-
<p>
|
|
1742
|
-
For inline elements, the IAL must appear immediately after the element, with optional whitespace:
|
|
1743
|
-
</p>
|
|
1744
|
-
|
|
1745
|
-
<div class="highlight">
|
|
1746
|
-
<pre><span></span>[<span class="nt">link</span>](<span class="na">url</span>){:.class} text after
|
|
1747
|
-
<span class="gs">**bold**</span>{:.bold-style} more text
|
|
1748
|
-
</pre>
|
|
1749
|
-
</div>
|
|
1750
|
-
|
|
1751
|
-
<h3 id="multiple-elements-with-same-attributes">
|
|
1752
|
-
Multiple Elements with Same Attributes
|
|
1753
|
-
</h3>
|
|
1754
|
-
|
|
1755
|
-
<p>
|
|
1756
|
-
When multiple links share the same URL, IALs are correctly matched using element indexing:
|
|
1757
|
-
</p>
|
|
1758
|
-
|
|
1759
|
-
<div class="highlight">
|
|
1760
|
-
<pre><span></span>Here's a [<span class="nt">regular link</span>](<span class="na">https://example.com</span>) and [<span class="nt">another link</span>](<span class="na">https://example.com</span>){:.button}.
|
|
1761
|
-
</pre>
|
|
1762
|
-
</div>
|
|
1763
|
-
|
|
1764
|
-
<p>
|
|
1765
|
-
Both links point to the same URL, but only the second one receives the <code>button</code> class.
|
|
1766
|
-
</p>
|
|
1767
|
-
|
|
1768
|
-
<h3 id="nested-elements">
|
|
1769
|
-
Nested Elements
|
|
1770
|
-
</h3>
|
|
1771
|
-
|
|
1772
|
-
<p>
|
|
1773
|
-
IALs work with nested inline elements:
|
|
1774
|
-
</p>
|
|
1775
|
-
|
|
1776
|
-
<div class="highlight">
|
|
1777
|
-
<pre><span></span>**Bold text with <span class="ge">*italic*</span>{:.nested} inside**{:.wrapper}
|
|
1778
|
-
</pre>
|
|
1779
|
-
</div>
|
|
1780
|
-
|
|
1781
|
-
<p>
|
|
1782
|
-
The italic element gets the <code>nested</code> class, and the bold element gets the <code>wrapper</code> class.
|
|
1783
|
-
</p>
|
|
1784
|
-
|
|
1785
|
-
<h2 id="examples">
|
|
1786
|
-
Examples
|
|
1787
|
-
</h2>
|
|
1788
|
-
|
|
1789
|
-
<h3 id="complete-example">
|
|
1790
|
-
Complete Example
|
|
1791
|
-
</h3>
|
|
1792
|
-
|
|
1793
|
-
<div class="highlight">
|
|
1794
|
-
<pre><span></span><span class="gh"># Main Title</span>
|
|
1795
|
-
|
|
1796
|
-
{: <span class="ni">#main</span>-title .page-title}
|
|
1797
|
-
|
|
1798
|
-
<span class="gu">## Section 1</span>
|
|
1799
|
-
|
|
1800
|
-
{:section-heading}
|
|
1801
|
-
|
|
1802
|
-
This paragraph has [<span class="nt">a link</span>](<span class="na">https://example.com</span>){:.external-link} with styling.
|
|
1803
|
-
|
|
1804
|
-
Another paragraph with <span class="gs">**bold text**</span>{:.highlight}.
|
|
1805
|
-
|
|
1806
|
-
<span class="gu">## Section 2</span>
|
|
1807
|
-
|
|
1808
|
-
{:section-heading}
|
|
1809
|
-
|
|
1810
|
-
More content here.
|
|
1811
|
-
</pre>
|
|
1812
|
-
</div>
|
|
1813
|
-
|
|
1814
|
-
<p>
|
|
1815
|
-
Output:
|
|
1816
|
-
</p>
|
|
1817
|
-
|
|
1818
|
-
<div class="highlight">
|
|
1819
|
-
<pre><span></span><span class="p"><</span><span class="nt">h1</span> <span class="na">id</span><span class="o">=</span><span class="s">"main-title"</span> <span class="na">class</span><span class="o">=</span><span class="s">"page-title"</span><span class="p">></span>Main Title<span class="p"></</span><span class="nt">h1</span><span class="p">></span>
|
|
1820
|
-
<span class="p"><</span><span class="nt">h2</span> <span class="na">class</span><span class="o">=</span><span class="s">"section important"</span> <span class="na">lang</span><span class="o">=</span><span class="s">"en"</span><span class="p">></span>Section 1<span class="p"></</span><span class="nt">h2</span><span class="p">></span>
|
|
1821
|
-
<span class="p"><</span><span class="nt">p</span><span class="p">></span>This paragraph has <span class="p"><</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">"https://example.com"</span> <span class="na">class</span><span class="o">=</span><span class="s">"external-link"</span><span class="p">></span>a link<span class="p"></</span><span class="nt">a</span><span class="p">></span> with styling.<span class="p"></</span><span class="nt">p</span><span class="p">></span>
|
|
1822
|
-
<span class="p"><</span><span class="nt">p</span><span class="p">></span>Another paragraph with <span class="p"><</span><span class="nt">strong</span> <span class="na">class</span><span class="o">=</span><span class="s">"highlight"</span><span class="p">></span>bold text<span class="p"></</span><span class="nt">strong</span><span class="p">></span>.<span class="p"></</span><span class="nt">p</span><span class="p">></span>
|
|
1823
|
-
<span class="p"><</span><span class="nt">h2</span> <span class="na">class</span><span class="o">=</span><span class="s">"section important"</span> <span class="na">lang</span><span class="o">=</span><span class="s">"en"</span><span class="p">></span>Section 2<span class="p"></</span><span class="nt">h2</span><span class="p">></span>
|
|
1824
|
-
<span class="p"><</span><span class="nt">p</span><span class="p">></span>More content here.<span class="p"></</span><span class="nt">p</span><span class="p">></span>
|
|
1825
|
-
</pre>
|
|
1826
|
-
</div>
|
|
1827
|
-
|
|
1828
|
-
<h3 id="using-alds-for-consistent-styling">
|
|
1829
|
-
Using ALDs for Consistent Styling
|
|
1830
|
-
</h3>
|
|
1831
|
-
|
|
1832
|
-
<div class="highlight">
|
|
1833
|
-
<pre><span></span><span class="gh"># Introduction</span>
|
|
1834
|
-
|
|
1835
|
-
{:intro}
|
|
1836
|
-
|
|
1837
|
-
<span class="gu">## Overview</span>
|
|
1838
|
-
|
|
1839
|
-
{:intro}
|
|
1840
|
-
|
|
1841
|
-
<span class="gu">## Details</span>
|
|
1842
|
-
|
|
1843
|
-
{:intro}
|
|
1844
|
-
|
|
1845
|
-
<span class="gh"># Conclusion</span>
|
|
1846
|
-
|
|
1847
|
-
{:conclusion}
|
|
1848
|
-
|
|
1849
|
-
<span class="gu">## Summary</span>
|
|
1850
|
-
|
|
1851
|
-
{:conclusion}
|
|
1852
|
-
</pre>
|
|
1853
|
-
</div>
|
|
1854
|
-
|
|
1855
|
-
<p>
|
|
1856
|
-
This allows you to maintain consistent styling across multiple elements by defining the attributes once and referencing them multiple times.
|
|
1857
|
-
</p>
|
|
1858
|
-
|
|
1859
|
-
<h2 id="related">
|
|
1860
|
-
Related
|
|
1861
|
-
</h2>
|
|
1862
|
-
|
|
1863
|
-
<ul>
|
|
1864
|
-
|
|
1865
|
-
<li>
|
|
1866
|
-
<a href="Syntax.html">Syntax</a> - Complete syntax reference
|
|
1867
|
-
</li>
|
|
1868
|
-
|
|
1869
|
-
<li>
|
|
1870
|
-
<a href="Modes.html">Modes</a> - Understanding processor modes (IALs available in Kramdown and unified modes)
|
|
1871
|
-
</li>
|
|
1872
|
-
|
|
1873
|
-
</ul>
|
|
1874
|
-
|
|
1875
|
-
<script>
|
|
1876
|
-
// Hamburger menu functionality
|
|
1877
|
-
(function() {
|
|
1878
|
-
function initHamburgerMenu() {
|
|
1879
|
-
var hamburger = document.getElementById('hamburger-menu');
|
|
1880
|
-
var sidebar = document.querySelector('.main-toc, .sidebar');
|
|
1881
|
-
var overlay = document.getElementById('mobile-menu-overlay');
|
|
1882
|
-
|
|
1883
|
-
if (!hamburger || !sidebar) return;
|
|
1884
|
-
|
|
1885
|
-
function toggleMenu() {
|
|
1886
|
-
var isOpen = sidebar.classList.contains('mobile-open');
|
|
1887
|
-
if (isOpen) {
|
|
1888
|
-
sidebar.classList.remove('mobile-open');
|
|
1889
|
-
hamburger.classList.remove('active');
|
|
1890
|
-
if (overlay) overlay.classList.remove('active');
|
|
1891
|
-
} else {
|
|
1892
|
-
sidebar.classList.add('mobile-open');
|
|
1893
|
-
hamburger.classList.add('active');
|
|
1894
|
-
if (overlay) overlay.classList.add('active');
|
|
1895
|
-
}
|
|
1896
|
-
}
|
|
1897
|
-
|
|
1898
|
-
hamburger.addEventListener('click', function(e) {
|
|
1899
|
-
e.stopPropagation();
|
|
1900
|
-
toggleMenu();
|
|
1901
|
-
});
|
|
1902
|
-
|
|
1903
|
-
if (overlay) {
|
|
1904
|
-
overlay.addEventListener('click', function() {
|
|
1905
|
-
toggleMenu();
|
|
1906
|
-
});
|
|
1907
|
-
}
|
|
1908
|
-
|
|
1909
|
-
// Close menu when clicking on a sidebar link (mobile only)
|
|
1910
|
-
if (window.innerWidth <= 768) {
|
|
1911
|
-
var sidebarLinks = sidebar.querySelectorAll('a');
|
|
1912
|
-
sidebarLinks.forEach(function(link) {
|
|
1913
|
-
link.addEventListener('click', function() {
|
|
1914
|
-
setTimeout(function() {
|
|
1915
|
-
sidebar.classList.remove('mobile-open');
|
|
1916
|
-
hamburger.classList.remove('active');
|
|
1917
|
-
if (overlay) overlay.classList.remove('active');
|
|
1918
|
-
}, 100);
|
|
1919
|
-
});
|
|
1920
|
-
});
|
|
1921
|
-
}
|
|
1922
|
-
|
|
1923
|
-
// Close menu on window resize if going to desktop
|
|
1924
|
-
window.addEventListener('resize', function() {
|
|
1925
|
-
if (window.innerWidth > 768) {
|
|
1926
|
-
sidebar.classList.remove('mobile-open');
|
|
1927
|
-
hamburger.classList.remove('active');
|
|
1928
|
-
if (overlay) overlay.classList.remove('active');
|
|
1929
|
-
}
|
|
1930
|
-
});
|
|
1931
|
-
}
|
|
1932
|
-
|
|
1933
|
-
// Initialize when DOM is ready
|
|
1934
|
-
if (document.readyState === 'loading') {
|
|
1935
|
-
document.addEventListener('DOMContentLoaded', initHamburgerMenu);
|
|
1936
|
-
} else {
|
|
1937
|
-
initHamburgerMenu();
|
|
1938
|
-
}
|
|
1939
|
-
})();
|
|
1940
|
-
|
|
1941
|
-
</script>
|
|
1942
|
-
<script>
|
|
1943
|
-
(function() {
|
|
1944
|
-
// Clone the page TOC for floating TOC
|
|
1945
|
-
function initFloatingTOC() {
|
|
1946
|
-
var pageTOC = document.getElementById('page-toc-top');
|
|
1947
|
-
var floatingTOCContent = document.getElementById('floating-toc-content');
|
|
1948
|
-
var floatingTOC = document.getElementById('floating-toc');
|
|
1949
|
-
|
|
1950
|
-
if (!pageTOC || !floatingTOCContent || !floatingTOC) return;
|
|
1951
|
-
|
|
1952
|
-
// Clone the TOC structure
|
|
1953
|
-
var tocClone = pageTOC.cloneNode(true);
|
|
1954
|
-
tocClone.id = 'floating-toc-clone';
|
|
1955
|
-
floatingTOCContent.appendChild(tocClone);
|
|
1956
|
-
|
|
1957
|
-
// Update all links to use smooth scrolling
|
|
1958
|
-
var allTOCLinks = document.querySelectorAll('.page-toc a, .floating-toc-content a');
|
|
1959
|
-
allTOCLinks.forEach(function(link) {
|
|
1960
|
-
link.addEventListener('click', function(e) {
|
|
1961
|
-
var href = this.getAttribute('href');
|
|
1962
|
-
if (href && href.startsWith('#')) {
|
|
1963
|
-
e.preventDefault();
|
|
1964
|
-
var targetId = href.substring(1);
|
|
1965
|
-
var targetElement = document.getElementById(targetId);
|
|
1966
|
-
if (targetElement) {
|
|
1967
|
-
var offset = 20; // Offset from top
|
|
1968
|
-
|
|
1969
|
-
// Function to calculate absolute position from document top
|
|
1970
|
-
function getAbsoluteTop(element) {
|
|
1971
|
-
var top = 0;
|
|
1972
|
-
while (element) {
|
|
1973
|
-
top += element.offsetTop;
|
|
1974
|
-
element = element.offsetParent;
|
|
1975
|
-
}
|
|
1976
|
-
return top;
|
|
1977
|
-
}
|
|
1978
|
-
|
|
1979
|
-
var absoluteTop = getAbsoluteTop(targetElement);
|
|
1980
|
-
var scrollTop = window.pageYOffset || document.documentElement.scrollTop;
|
|
1981
|
-
var offsetPosition = absoluteTop - offset;
|
|
1982
|
-
|
|
1983
|
-
// Only scroll if we're not already at the target position
|
|
1984
|
-
if (Math.abs(scrollTop - offsetPosition) > 10) {
|
|
1985
|
-
window.scrollTo({
|
|
1986
|
-
top: Math.max(0, offsetPosition),
|
|
1987
|
-
behavior: 'smooth'
|
|
1988
|
-
});
|
|
1989
|
-
}
|
|
1990
|
-
|
|
1991
|
-
// Update URL hash without triggering scroll
|
|
1992
|
-
if (history.pushState) {
|
|
1993
|
-
history.pushState(null, null, href);
|
|
1994
|
-
}
|
|
1995
|
-
}
|
|
1996
|
-
}
|
|
1997
|
-
});
|
|
1998
|
-
});
|
|
1999
|
-
|
|
2000
|
-
// Handle scroll to show/hide floating TOC
|
|
2001
|
-
var tocTop = pageTOC.getBoundingClientRect().top + window.pageYOffset;
|
|
2002
|
-
var tocBottom = tocTop + pageTOC.offsetHeight;
|
|
2003
|
-
|
|
2004
|
-
function updateFloatingTOC() {
|
|
2005
|
-
var scrollY = window.pageYOffset || document.documentElement.scrollTop;
|
|
2006
|
-
|
|
2007
|
-
if (scrollY > tocBottom) {
|
|
2008
|
-
floatingTOC.classList.add('visible');
|
|
2009
|
-
} else {
|
|
2010
|
-
floatingTOC.classList.remove('visible');
|
|
2011
|
-
}
|
|
2012
|
-
}
|
|
2013
|
-
|
|
2014
|
-
// Throttle scroll events
|
|
2015
|
-
var ticking = false;
|
|
2016
|
-
window.addEventListener('scroll', function() {
|
|
2017
|
-
if (!ticking) {
|
|
2018
|
-
window.requestAnimationFrame(function() {
|
|
2019
|
-
updateFloatingTOC();
|
|
2020
|
-
ticking = false;
|
|
2021
|
-
});
|
|
2022
|
-
ticking = true;
|
|
2023
|
-
}
|
|
2024
|
-
});
|
|
2025
|
-
|
|
2026
|
-
// Initial check
|
|
2027
|
-
updateFloatingTOC();
|
|
2028
|
-
}
|
|
2029
|
-
|
|
2030
|
-
// Initialize when DOM is ready
|
|
2031
|
-
if (document.readyState === 'loading') {
|
|
2032
|
-
document.addEventListener('DOMContentLoaded', initFloatingTOC);
|
|
2033
|
-
} else {
|
|
2034
|
-
initFloatingTOC();
|
|
2035
|
-
}
|
|
2036
|
-
})();
|
|
2037
|
-
</script>
|
|
2038
|
-
<footer class="page-footer"><p>Copyright 2025 Brett Terpstra, All Rights Reserved | MIT License</p></footer></body>
|
|
2039
|
-
|
|
2040
|
-
</html>
|
|
2041
|
-
|