diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2023-02-25 18:49:50 +0100 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2023-02-27 09:18:57 +0100 |
commit | 41f4297ce02f9b8176f6d740e20b35c950978d64 (patch) | |
tree | 64247d34e27aad230bd1d55b1186ac9528662bfa /docs | |
parent | d5afe4a0878162d51980a672aa0d9730f45640ab (diff) | |
download | tracker-41f4297ce02f9b8176f6d740e20b35c950978d64.tar.gz |
docs: Add back helper to embed files into markdown documentation
Rescue this nasty little hack from commit c5414ed4da15, and make it
go through the generated documentation files at the moment.
Diffstat (limited to 'docs')
-rw-r--r-- | docs/reference/libtracker-sparql/embed-files.py | 29 | ||||
-rw-r--r-- | docs/reference/libtracker-sparql/meson.build | 55 | ||||
-rw-r--r-- | docs/tools/tracker-docgen-md.c | 2 |
3 files changed, 65 insertions, 21 deletions
diff --git a/docs/reference/libtracker-sparql/embed-files.py b/docs/reference/libtracker-sparql/embed-files.py new file mode 100644 index 000000000..05354d91d --- /dev/null +++ b/docs/reference/libtracker-sparql/embed-files.py @@ -0,0 +1,29 @@ +#!/bin/env python3 + +import os, sys, re + +f = open(sys.argv[1]) +content = f.read() +f.close() + +dirname = os.path.dirname(sys.argv[1]) + +regex = re.compile('{{(.*)}}') +matches = regex.findall(content) +replacements = {} + +for m in matches: + try: + f = open(os.path.join(dirname, m.strip())) + embedded = f.read() + except: + embedded = '' + + escaped = embedded.replace('\\', '\\\\') + replace = re.compile('{{' + m + '}}') + content = replace.sub(escaped, content) + f.close() + +f = open(sys.argv[2], 'w') +f.write(content) +f.close() diff --git a/docs/reference/libtracker-sparql/meson.build b/docs/reference/libtracker-sparql/meson.build index 019a54bf5..b348795b7 100644 --- a/docs/reference/libtracker-sparql/meson.build +++ b/docs/reference/libtracker-sparql/meson.build @@ -18,7 +18,7 @@ ontology_introductions = [ ] base_ontology_docs = custom_target('ontology-docgen', - output: ['dc-ontology.md'], + output: ['dc-ontology.md.in'], command: [tracker_docgen, '--md', '--ontology-dir', meson.current_build_dir(), # Directory without ontology files @@ -27,11 +27,10 @@ base_ontology_docs = custom_target('ontology-docgen', '--ontology-description-dir', join_paths(source_root, 'src/ontologies/')], depends: tracker_docgen, depend_files: [base_ontology, ontology_introductions], - build_by_default: true, ) nepomuk_ontology_docs = custom_target('nepomuk-docgen', - output: ['nie-ontology.md'], + output: ['nie-ontology.md.in'], command: [tracker_docgen, '--md', '--ontology-dir', join_paths(source_root, 'src/ontologies/nepomuk'), @@ -39,27 +38,43 @@ nepomuk_ontology_docs = custom_target('nepomuk-docgen', '--introduction-dir', meson.current_source_dir()], depends: tracker_docgen, depend_files: [nepomuk, ontology_introductions], - build_by_default: true, ) -generated_content = [ - 'xsd-ontology.md', - 'rdf-ontology.md', - 'rdfs-ontology.md', - 'nrl-ontology.md', - 'dc-ontology.md', +generated_files = [ + 'xsd-ontology.md.in', + 'rdf-ontology.md.in', + 'rdfs-ontology.md.in', + 'nrl-ontology.md.in', + 'dc-ontology.md.in', - 'nie-ontology.md', - 'nao-ontology.md', - 'nco-ontology.md', - 'nfo-ontology.md', - 'nmm-ontology.md', - 'mfo-ontology.md', - 'tracker-ontology.md', - 'slo-ontology.md', - 'osinfo-ontology.md', + 'nie-ontology.md.in', + 'nao-ontology.md.in', + 'nco-ontology.md.in', + 'nfo-ontology.md.in', + 'nmm-ontology.md.in', + 'mfo-ontology.md.in', + 'tracker-ontology.md.in', + 'slo-ontology.md.in', + 'osinfo-ontology.md.in', ] +generated_targets = [] +generated_content = [] + +foreach doc : generated_files + output_file = doc.replace('.in', '') + generated_content += output_file + generated_targets += custom_target( + output_file, + output: output_file, + command: [ + 'embed-files.py', + meson.current_build_dir() / doc, + meson.current_build_dir() / output_file, + ], + depends: [base_ontology_docs, nepomuk_ontology_docs]) +endforeach + content = [ 'overview.md', 'examples.md', @@ -102,7 +117,7 @@ reference = custom_target( '--content-dir=@0@'.format(meson.current_build_dir()), '@INPUT1@', ], - depends: [tracker_sparql_gir[0], base_ontology_docs, nepomuk_ontology_docs], + depends: [tracker_sparql_gir[0], generated_targets], depend_files: content) docs_name = 'Tracker-3.0' diff --git a/docs/tools/tracker-docgen-md.c b/docs/tools/tracker-docgen-md.c index 1c13bfd5e..01ab69bcc 100644 --- a/docs/tools/tracker-docgen-md.c +++ b/docs/tools/tracker-docgen-md.c @@ -554,7 +554,7 @@ ttl_md_print (TrackerOntologyDescription *description, GList *l; FILE *f; - filename = g_strdup_printf ("%s-ontology.md", description->localPrefix); + filename = g_strdup_printf ("%s-ontology.md.in", description->localPrefix); file = g_file_get_child (output_location, filename); g_free (filename); |