From 73ae7bd198497e84ae0090c641fac78c613ad686 Mon Sep 17 00:00:00 2001 From: Carlo Piovesan Date: Tue, 2 Jul 2024 22:22:56 +0200 Subject: [PATCH 1/5] Refinement on md generation --- scripts/generate_md.sh | 62 +++++++++++++++++++++++------------------- scripts/get_stars.py | 14 ++++++++++ 2 files changed, 48 insertions(+), 28 deletions(-) create mode 100644 scripts/get_stars.py diff --git a/scripts/generate_md.sh b/scripts/generate_md.sh index b3b459d..797f7cd 100755 --- a/scripts/generate_md.sh +++ b/scripts/generate_md.sh @@ -61,38 +61,44 @@ do rm -f pre.db rm -f post.db - if [ -s "$DOCS/$extension/extension.md" ]; then - echo "## $extension" > $EXTENSION_README - echo "" >> $EXTENSION_README - cat $DOCS/$extension/extension.md >> $EXTENSION_README + echo "---" > $EXTENSION_README + echo "layout: community_extension" >> $EXTENSION_README + echo "title: $extension" >> $EXTENSION_README + if [ -s "extensions/$extension/description.yml" ]; then + cat extensions/$extension/description.yml >> $EXTENSION_README echo "" >> $EXTENSION_README + echo -n "extension_star_count: " >> $EXTENSION_README + python3 scripts/get_stars.py extensions/$extension/description.yml $1 >> $EXTENSION_README + fi + echo "---" >> $EXTENSION_README + cat layout/default.md >> $EXTENSION_README - if [ -s "$DOCS/$extension/functions.md" ]; then - echo "### Added functions" >> $EXTENSION_README - echo "" >> $EXTENSION_README - cat $DOCS/$extension/functions.md >> $EXTENSION_README - echo "" >> $EXTENSION_README - fi - if [ -s "$DOCS/$extension/functions_overloads.md" ]; then - echo "### Added function overloads" >> $EXTENSION_README - echo "" >> $EXTENSION_README - cat $DOCS/$extension/functions_overloads.md >> $EXTENSION_README - echo "" >> $EXTENSION_README - fi - if [ -s "$DOCS/$extension/types.md" ]; then - echo "### Added types" >> $EXTENSION_README - echo "" >> $EXTENSION_README - cat $DOCS/$extension/types.md >> $EXTENSION_README - echo "" >> $EXTENSION_README - fi - if [ -s "$DOCS/$extension/settings.md" ]; then - echo "### Added settings" >> $EXTENSION_README - echo "" >> $EXTENSION_README - cat $DOCS/$extension/settings.md >> $EXTENSION_README - echo "" >> $EXTENSION_README - fi + if [ -s "$DOCS/$extension/functions.md" ]; then + echo "### Added functions" >> $EXTENSION_README + echo "" >> $EXTENSION_README + cat $DOCS/$extension/functions.md >> $EXTENSION_README echo "" >> $EXTENSION_README fi + if [ -s "$DOCS/$extension/functions_overloads.md" ]; then + echo "### Added function overloads" >> $EXTENSION_README + echo "" >> $EXTENSION_README + cat $DOCS/$extension/functions_overloads.md >> $EXTENSION_README + echo "" >> $EXTENSION_README + fi + if [ -s "$DOCS/$extension/types.md" ]; then + echo "### Added types" >> $EXTENSION_README + echo "" >> $EXTENSION_README + cat $DOCS/$extension/types.md >> $EXTENSION_README + echo "" >> $EXTENSION_README + fi + if [ -s "$DOCS/$extension/settings.md" ]; then + echo "### Added settings" >> $EXTENSION_README + echo "" >> $EXTENSION_README + cat $DOCS/$extension/settings.md >> $EXTENSION_README + echo "" >> $EXTENSION_README + fi + echo "" >> $EXTENSION_README + rm -rf $DOCS/$extension done diff --git a/scripts/get_stars.py b/scripts/get_stars.py new file mode 100644 index 0000000..343ccf6 --- /dev/null +++ b/scripts/get_stars.py @@ -0,0 +1,14 @@ +import os +import sys +import yaml +import subprocess + +desc_file = sys.argv[1] +duckdb = sys.argv[2] + +with open(desc_file, 'r') as stream: + desc = yaml.safe_load(stream) + +subprocess.run([duckdb, "-c", "COPY (SELECT ' ') TO 'build/stars.csv' (HEADER FALSE);"]) +subprocess.run([duckdb, "-c", "COPY (SELECT stargazers_count FROM read_json('https://api.github.com/repos/" + desc['repo']['github'] + "')) TO 'build/stars.csv' (HEADER FALSE);"]) +subprocess.run(["cat", "build/stars.csv"]) From 2c98b48af974f047e18178ffc448bc8017d0ee83 Mon Sep 17 00:00:00 2001 From: Carlo Piovesan Date: Wed, 3 Jul 2024 11:16:31 +0200 Subject: [PATCH 2/5] Add default layout --- layout/default.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 layout/default.md diff --git a/layout/default.md b/layout/default.md new file mode 100644 index 0000000..991a5a8 --- /dev/null +++ b/layout/default.md @@ -0,0 +1,13 @@ + +### Installing and Loading +```sql +INSTALL {{ page.extension.name }} FROM community; +LOAD {{ page.extension.name }}; +{% if page.docs.hello_world %} +{{ page.docs.hello_world }}{% endif %}``` + +{% if page.docs.extended_description %} +### About {{ page.extension.name }} +{{ page.docs.extended_description }} +{% endif %} + From 750b2b74b7eb7135970862441290291bde1b03ff Mon Sep 17 00:00:00 2001 From: Carlo Piovesan Date: Wed, 3 Jul 2024 11:18:22 +0200 Subject: [PATCH 3/5] Add docs section to quack --- extensions/quack/description.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/extensions/quack/description.yml b/extensions/quack/description.yml index 5cd7568..743bb5b 100644 --- a/extensions/quack/description.yml +++ b/extensions/quack/description.yml @@ -10,4 +10,10 @@ extension: repo: github: hannes/quack - ref: 09680a975bcf9e93b5a2f46d3eeb68792d5239c6 \ No newline at end of file + ref: 09680a975bcf9e93b5a2f46d3eeb68792d5239c6 + +docs: + hello_world: | + SELECT quack(i::VARCHAR) FROM range(10) tbl(i); + extended_description: | + The quack extension is based on DuckDB's [Extension Template](https://duckdb/extension_template/), and it's a great starting point to get started building more advanced extensions. From 4e2c43c8d79366ee3a8f8a458e66892f8cced41c Mon Sep 17 00:00:00 2001 From: Carlo Piovesan Date: Wed, 3 Jul 2024 11:29:29 +0200 Subject: [PATCH 4/5] Review feedback on layout --- layout/default.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/layout/default.md b/layout/default.md index 991a5a8..a81ad50 100644 --- a/layout/default.md +++ b/layout/default.md @@ -3,8 +3,13 @@ ```sql INSTALL {{ page.extension.name }} FROM community; LOAD {{ page.extension.name }}; +``` + {% if page.docs.hello_world %} -{{ page.docs.hello_world }}{% endif %}``` +### Example +```sql +{{ page.docs.hello_world }}``` +{% endif %} {% if page.docs.extended_description %} ### About {{ page.extension.name }} From 484bde3e9f6a1ced0835606a9482ae4b1b00607f Mon Sep 17 00:00:00 2001 From: Carlo Piovesan Date: Wed, 3 Jul 2024 13:41:18 +0200 Subject: [PATCH 5/5] Update quack hello_world to be hello world Co-authored-by: Sam Ansmink --- extensions/quack/description.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/quack/description.yml b/extensions/quack/description.yml index 743bb5b..6d499ea 100644 --- a/extensions/quack/description.yml +++ b/extensions/quack/description.yml @@ -14,6 +14,6 @@ repo: docs: hello_world: | - SELECT quack(i::VARCHAR) FROM range(10) tbl(i); + SELECT quack('world'); extended_description: | The quack extension is based on DuckDB's [Extension Template](https://duckdb/extension_template/), and it's a great starting point to get started building more advanced extensions.