summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2023-02-25 18:49:50 +0100
committerCarlos Garnacho <carlosg@gnome.org>2023-02-27 09:18:57 +0100
commit41f4297ce02f9b8176f6d740e20b35c950978d64 (patch)
tree64247d34e27aad230bd1d55b1186ac9528662bfa /docs
parentd5afe4a0878162d51980a672aa0d9730f45640ab (diff)
downloadtracker-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.py29
-rw-r--r--docs/reference/libtracker-sparql/meson.build55
-rw-r--r--docs/tools/tracker-docgen-md.c2
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);