From dacb5f3a1cae25d511428af93ee50889b395cbd2 Mon Sep 17 00:00:00 2001 From: Henry Wilkinson Date: Fri, 31 Oct 2025 01:20:54 -0400 Subject: [PATCH 01/11] Create website README file to help people get started --- website/README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 website/README.md diff --git a/website/README.md b/website/README.md new file mode 100644 index 0000000000..2f6db3fc71 --- /dev/null +++ b/website/README.md @@ -0,0 +1,10 @@ +# Graphite Website + +Graphite's website uses the [Zola](https://www.getzola.org/) static site generator and [NPM](https://github.com/npm/cli) for dependency resolution. You will need to install both to build the site. + +## Building for Development + +1. Switch to this directory from the repo root: `cd website` +2. Install the fonts: `npm run install-fonts` +3. Run `zola serve` +4. Open in your browser and start coding! From 61804f58b421ec44c916b77dd09d94e4662df1a1 Mon Sep 17 00:00:00 2001 From: Henry Wilkinson Date: Fri, 31 Oct 2025 01:33:03 -0400 Subject: [PATCH 02/11] Add better RSS feed template - Include full text of posts --- website/config.toml | 1 + website/templates/rss.xml | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 website/templates/rss.xml diff --git a/website/config.toml b/website/config.toml index 3234f68f98..4f063e14b9 100644 --- a/website/config.toml +++ b/website/config.toml @@ -5,6 +5,7 @@ feed_filenames = ["rss.xml"] compile_sass = true minify_html = false +generate_feeds = false [markdown] highlight_code = true diff --git a/website/templates/rss.xml b/website/templates/rss.xml new file mode 100644 index 0000000000..65e699dc3c --- /dev/null +++ b/website/templates/rss.xml @@ -0,0 +1,21 @@ + + + + {{ config.title }} + {{ config.base_url | safe }} + {{ config.description }} + {{ now() | date(format="%a, %d %b %Y %H:%M:%S %z") }} + + {% for page in section.pages %} + + {{ page.title }} + {{ page.permalink | safe }} + {{ page.permalink | safe }} + {{ page.date | date(format="%a, %d %b %Y %H:%M:%S %z") }} + + + {% endfor %} + + From d3938c514ae0cb1b38c4b18c0204174cafcb3e96 Mon Sep 17 00:00:00 2001 From: Henry Wilkinson Date: Fri, 31 Oct 2025 01:41:21 -0400 Subject: [PATCH 03/11] Switch to atom feed --- website/templates/rss.xml | 41 ++++++++++++++++++++++++++------------- 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/website/templates/rss.xml b/website/templates/rss.xml index 65e699dc3c..f926b7a14b 100644 --- a/website/templates/rss.xml +++ b/website/templates/rss.xml @@ -1,21 +1,34 @@ - - + {{ config.title }} - {{ config.base_url | safe }} - {{ config.description }} - {{ now() | date(format="%a, %d %b %Y %H:%M:%S %z") }} + + {{ now() | date(format="%Y-%m-%dT%H:%M:%S%:z") }} + {{ config.base_url | safe }} + {{ config.description }} {% for page in section.pages %} - + {{ page.title }} - {{ page.permalink | safe }} - {{ page.permalink | safe }} - {{ page.date | date(format="%a, %d %b %Y %H:%M:%S %z") }} - + {{ page.permalink | safe }} + {{ page.updated | default(value=page.date) | date(format="%Y-%m-%dT%H:%M:%S%:z") }} + {{ page.date | date(format="%Y-%m-%dT%H:%M:%S%:z") }} + + {% if page.extra.authors %} + {% for author in page.extra.authors %} + + {{ author }} + + {% endfor %} + {% endif %} + + {% if page.extra.summary %} + {{ page.extra.summary }} + {% endif %} + + - + ]]> + {% endfor %} - - + From f8d0831c4e7ff82bc180f3b89d916236b9eb0f3a Mon Sep 17 00:00:00 2001 From: Henry Wilkinson Date: Fri, 31 Oct 2025 02:01:29 -0400 Subject: [PATCH 04/11] refactor: use default Zola `authors` array Storing `authors` as an array lets us loop over multiple authors instead of adding them all as a string! Better for sorting! --- .../content/blog/2022-02-12-announcing-graphite-alpha.md | 2 +- ...phite-a-vision-for-the-future-of-2d-content-creation.md | 2 +- ...-05-12-distributed-computing-in-the-graphene-runtime.md | 2 +- .../2024-01-01-looking-back-on-2023-and-what's-next.md | 2 +- ...te-internships-announcing-participation-in-gsoc-2024.md | 3 ++- .../blog/2024-05-09-graphite-progress-report-q1-2024.md | 3 ++- .../blog/2024-07-31-graphite-progress-report-q2-2024.md | 3 ++- .../blog/2024-10-15-graphite-progress-report-q3-2024.md | 3 ++- ...16-year-in-review-2024-highlights-and-a-peek-at-2025.md | 2 +- .../blog/2025-03-31-graphite-progress-report-q4-2024.md | 3 ++- ...-02-internships-for-a-rust-graphics-engine-gsoc-2025.md | 3 ++- .../2025-09-19-graphite-community-meetup-in-germany.md | 3 ++- website/templates/article.html | 7 ++++++- website/templates/blog.html | 7 ++++++- website/templates/rss.xml | 4 ++-- 15 files changed, 33 insertions(+), 16 deletions(-) diff --git a/website/content/blog/2022-02-12-announcing-graphite-alpha.md b/website/content/blog/2022-02-12-announcing-graphite-alpha.md index 8395644ed7..64a709d40f 100644 --- a/website/content/blog/2022-02-12-announcing-graphite-alpha.md +++ b/website/content/blog/2022-02-12-announcing-graphite-alpha.md @@ -1,11 +1,11 @@ +++ title = "Announcing Graphite alpha" date = 2022-02-12 +authors = ["Keavon Chambers"] [extra] banner = "https://static.graphite.rs/content/blog/2022-02-12-announcing-graphite-alpha.avif" banner_png = "https://static.graphite.rs/content/blog/2022-02-12-announcing-graphite-alpha.png" -author = "Keavon Chambers" summary = "The Graphite open source team announces the alpha release of their next-generation graphics editor, a web-based SVG editor with vector-based tools. Future plans include a node-based procedural workflow, a raster graphics compositing engine, and a native desktop client." reddit = "https://www.reddit.com/r/graphite/comments/unw3hi/blog_post_announcing_graphite_alpha/" twitter = "https://twitter.com/GraphiteEditor/status/1524663930697568256" diff --git a/website/content/blog/2022-03-12-graphite-a-vision-for-the-future-of-2d-content-creation.md b/website/content/blog/2022-03-12-graphite-a-vision-for-the-future-of-2d-content-creation.md index c3d7d77261..bcf5e13201 100644 --- a/website/content/blog/2022-03-12-graphite-a-vision-for-the-future-of-2d-content-creation.md +++ b/website/content/blog/2022-03-12-graphite-a-vision-for-the-future-of-2d-content-creation.md @@ -1,11 +1,11 @@ +++ title = "Graphite: a vision for the future of 2D content creation" date = 2022-03-12 +authors = ["Keavon Chambers"] [extra] banner = "https://static.graphite.rs/content/blog/2022-03-12-graphite-a-vision-for-the-future-of-2d-content-creation.avif" banner_png = "https://static.graphite.rs/content/blog/2022-03-12-graphite-a-vision-for-the-future-of-2d-content-creation.png" -author = "Keavon Chambers" summary = "Graphite is an open-source application for 2D graphics editing and digital content creation, offering a nondestructive, node-based workflow. It combines intuitive UI with powerful procedural image generators to revolutionize 2D content creation." reddit = "https://www.reddit.com/r/graphite/comments/unw3va/blog_post_graphite_a_vision_for_the_future_of_2d/" twitter = "https://twitter.com/GraphiteEditor/status/1524664010091556864" diff --git a/website/content/blog/2022-05-12-distributed-computing-in-the-graphene-runtime.md b/website/content/blog/2022-05-12-distributed-computing-in-the-graphene-runtime.md index 5a96b2b7b1..490d5a7b01 100644 --- a/website/content/blog/2022-05-12-distributed-computing-in-the-graphene-runtime.md +++ b/website/content/blog/2022-05-12-distributed-computing-in-the-graphene-runtime.md @@ -1,11 +1,11 @@ +++ title = "Distributed computing in the Graphene runtime" date = 2022-05-12 +authors = ["Keavon Chambers"] [extra] banner = "https://static.graphite.rs/content/blog/2022-05-12-distributed-computing-in-the-graphene-runtime__2.avif" banner_png = "https://static.graphite.rs/content/blog/2022-05-12-distributed-computing-in-the-graphene-runtime__2.png" -author = "Keavon Chambers" summary = "Graphite's 2D editor is built upon Graphene, a node-based editing system for nondestructive design across various data types designed to render artwork faster using multiple machines. The system optimizes execution paths, minimizes latency, and uses a distributed runtime for quick data processing." reddit = "https://www.reddit.com/r/graphite/comments/unw45k/blog_post_distributed_computing_in_the_graphene/" twitter = "https://twitter.com/GraphiteEditor/status/1524664083554791424" diff --git a/website/content/blog/2024-01-01-looking-back-on-2023-and-what's-next.md b/website/content/blog/2024-01-01-looking-back-on-2023-and-what's-next.md index c430a2fc75..2b8e761db0 100644 --- a/website/content/blog/2024-01-01-looking-back-on-2023-and-what's-next.md +++ b/website/content/blog/2024-01-01-looking-back-on-2023-and-what's-next.md @@ -1,11 +1,11 @@ +++ title = "Looking back on 2023 and what's next" date = 2024-01-01 +authors = ["Keavon Chambers"] [extra] banner = "https://static.graphite.rs/content/blog/2024-01-01-looking-back-on-2023-and-what's-next.avif" banner_png = "https://static.graphite.rs/content/blog/2024-01-01-looking-back-on-2023-and-what's-next.png" -author = "Keavon Chambers" summary = "Looking back on 2023, we reflect on our significant achievements and milestones. As we move forward, we're excited to share what's next, promising a year filled with innovation and progress." reddit = "https://www.reddit.com/r/graphite/comments/18xmoti/blog_post_looking_back_on_2023_and_whats_next/" twitter = "https://twitter.com/GraphiteEditor/status/1742576805532577937" diff --git a/website/content/blog/2024-02-22-graphite-internships-announcing-participation-in-gsoc-2024.md b/website/content/blog/2024-02-22-graphite-internships-announcing-participation-in-gsoc-2024.md index f9fe300a5c..991f1ce403 100644 --- a/website/content/blog/2024-02-22-graphite-internships-announcing-participation-in-gsoc-2024.md +++ b/website/content/blog/2024-02-22-graphite-internships-announcing-participation-in-gsoc-2024.md @@ -1,10 +1,11 @@ +++ title = "Graphite internships: announcing participation in GSoC 2024" date = 2024-02-22 +authors = ["Keavon Chambers"] + [extra] banner = "https://static.graphite.rs/content/blog/2024-02-22-graphite-internships-announcing-participation-in-gsoc-2024.avif" banner_png = "https://static.graphite.rs/content/blog/2024-02-22-graphite-internships-announcing-participation-in-gsoc-2024.png" -author = "Keavon Chambers" summary = "Join Graphite in Google Summer of Code 2024 for a unique opportunity to contribute to open-source software development in Rust and computer graphics. Get paid while learning, working on self-contained projects under experienced mentors, and help Graphite grow." reddit = "https://www.reddit.com/r/graphite/comments/1ax3l8z/blog_post_graphite_internships_announcing/" twitter = "https://twitter.com/GraphiteEditor/status/1760619083396165703" diff --git a/website/content/blog/2024-05-09-graphite-progress-report-q1-2024.md b/website/content/blog/2024-05-09-graphite-progress-report-q1-2024.md index bac4e44959..b8e9ba17eb 100644 --- a/website/content/blog/2024-05-09-graphite-progress-report-q1-2024.md +++ b/website/content/blog/2024-05-09-graphite-progress-report-q1-2024.md @@ -1,10 +1,11 @@ +++ title = "Graphite progress report (Q1 2024)" date = 2024-05-09 +authors = ["Keavon Chambers", "Hypercube"] + [extra] banner = "https://static.graphite.rs/content/blog/2024-05-09-graphite-progress-report-q1-2024__2.avif" banner_png = "https://static.graphite.rs/content/blog/2024-05-09-graphite-progress-report-q1-2024__2.png" -author = "Keavon Chambers & Hypercube" summary = "Graphite's Q1 2024 update introduces a precise snapping system and a customizable grid for enhanced design control. The update also includes improved procedural scattering with the 'Copy to Points' node, demonstrated in new demo artwork." reddit = "https://www.reddit.com/r/graphite/comments/1coa0if/blog_post_graphite_progress_report_q1_2024/" twitter = "https://twitter.com/GraphiteEditor/status/1788698448348266946" diff --git a/website/content/blog/2024-07-31-graphite-progress-report-q2-2024.md b/website/content/blog/2024-07-31-graphite-progress-report-q2-2024.md index 72b73f0db3..3f97138984 100644 --- a/website/content/blog/2024-07-31-graphite-progress-report-q2-2024.md +++ b/website/content/blog/2024-07-31-graphite-progress-report-q2-2024.md @@ -1,10 +1,11 @@ +++ title = "Graphite progress report (Q2 2024)" date = 2024-07-31 +authors = ["Keavon Chambers", "Hypercube"] + [extra] banner = "https://static.graphite.rs/content/blog/2024-07-31-graphite-progress-report-q2-2024.avif" banner_png = "https://static.graphite.rs/content/blog/2024-07-31-graphite-progress-report-q2-2024.png" -author = "Keavon Chambers & Hypercube" summary = "Graphite's Q2 2024 update introduces boolean path operations, a new gradient picker, layer locking, and more improvements." reddit = "https://www.reddit.com/r/graphite/comments/1ei9ps2/blog_post_graphite_progress_report_q2_2024/" twitter = "https://x.com/GraphiteEditor/status/1819360794028462569" diff --git a/website/content/blog/2024-10-15-graphite-progress-report-q3-2024.md b/website/content/blog/2024-10-15-graphite-progress-report-q3-2024.md index 149e0c3c6d..8354da528e 100644 --- a/website/content/blog/2024-10-15-graphite-progress-report-q3-2024.md +++ b/website/content/blog/2024-10-15-graphite-progress-report-q3-2024.md @@ -1,10 +1,11 @@ +++ title = "Graphite progress report (Q3 2024)" date = 2024-10-15 +authors = ["Keavon Chambers", "Hypercube"] + [extra] banner = "https://static.graphite.rs/content/blog/2024-10-15-graphite-progress-report-q3-2024.avif" banner_png = "https://static.graphite.rs/content/blog/2024-10-15-graphite-progress-report-q3-2024.png" -author = "Keavon Chambers & Hypercube" summary = "Graphite's Q3 2024 update introduces improvements to performance, node graph organization, nondestructive path editing, a new render engine, and more helpful nodes." reddit = "https://www.reddit.com/r/graphite/comments/1g4h6ya/blog_post_graphite_progress_report_q3_2024/" twitter = "https://x.com/GraphiteEditor/status/1846283664562573344" diff --git a/website/content/blog/2025-01-16-year-in-review-2024-highlights-and-a-peek-at-2025.md b/website/content/blog/2025-01-16-year-in-review-2024-highlights-and-a-peek-at-2025.md index 283b590853..5fee75a279 100644 --- a/website/content/blog/2025-01-16-year-in-review-2024-highlights-and-a-peek-at-2025.md +++ b/website/content/blog/2025-01-16-year-in-review-2024-highlights-and-a-peek-at-2025.md @@ -1,11 +1,11 @@ +++ title = "Year in review: 2024 highlights and a peek at 2025" date = 2025-01-16 +authors = ["Keavon Chambers"] [extra] banner = "https://static.graphite.rs/content/blog/2025-01-16-year-in-review-2024-highlights-and-a-peek-at-2025.avif" banner_png = "https://static.graphite.rs/content/blog/2025-01-16-year-in-review-2024-highlights-and-a-peek-at-2025.png" -author = "Keavon Chambers" summary = "Graphite has come a long way in 2024. Read about the progress made and the plans for the upcoming year." reddit = "https://www.reddit.com/r/graphite/comments/1i3umnl/blog_post_year_in_review_2024_highlights_and_a/" twitter = "https://x.com/GraphiteEditor/status/1880404337345851612" diff --git a/website/content/blog/2025-03-31-graphite-progress-report-q4-2024.md b/website/content/blog/2025-03-31-graphite-progress-report-q4-2024.md index 732ff42e6a..26fcbe8cf6 100644 --- a/website/content/blog/2025-03-31-graphite-progress-report-q4-2024.md +++ b/website/content/blog/2025-03-31-graphite-progress-report-q4-2024.md @@ -1,10 +1,11 @@ +++ title = "Graphite progress report (Q4 2024)" date = 2025-03-31 +authors = ["Keavon Chambers", "Hypercube"] + [extra] banner = "https://static.graphite.rs/content/blog/2025-03-31-graphite-progress-report-q4-2024.avif" banner_png = "https://static.graphite.rs/content/blog/2025-03-31-graphite-progress-report-q4-2024.png" -author = "Keavon Chambers & Hypercube" summary = "Graphite's Q4 2024 update introduces quality of life features across drawing tools and procedural editing." css = ["/component/demo-artwork.css"] reddit = "https://www.reddit.com/r/graphite/comments/1jpjqcs/blog_post_graphite_progress_report_q4_2024/" diff --git a/website/content/blog/2025-04-02-internships-for-a-rust-graphics-engine-gsoc-2025.md b/website/content/blog/2025-04-02-internships-for-a-rust-graphics-engine-gsoc-2025.md index 1c8a54a583..60949d11a1 100644 --- a/website/content/blog/2025-04-02-internships-for-a-rust-graphics-engine-gsoc-2025.md +++ b/website/content/blog/2025-04-02-internships-for-a-rust-graphics-engine-gsoc-2025.md @@ -1,10 +1,11 @@ +++ title = "Internships for a Rust graphics engine: GSoC 2025" date = 2025-04-02 +authors = ["Keavon Chambers"] + [extra] banner = "https://static.graphite.rs/content/blog/2025-04-02-internships-for-a-rust-graphics-engine-gsoc-2025.avif" banner_png = "https://static.graphite.rs/content/blog/2025-04-02-internships-for-a-rust-graphics-engine-gsoc-2025.png" -author = "Keavon Chambers" summary = "Join Graphite in Google Summer of Code 2025 for a unique opportunity to contribute to open-source software development in Rust and computer graphics. Get paid while learning, working on self-contained projects under experienced mentors, and help Graphite grow." reddit = "https://www.reddit.com/r/graphite/comments/1jplm6t/internships_for_a_rust_graphics_engine_gsoc_2025/" twitter = "https://x.com/GraphiteEditor/status/1907384498389651663" diff --git a/website/content/blog/2025-09-19-graphite-community-meetup-in-germany.md b/website/content/blog/2025-09-19-graphite-community-meetup-in-germany.md index e672d60f42..95465b75fa 100644 --- a/website/content/blog/2025-09-19-graphite-community-meetup-in-germany.md +++ b/website/content/blog/2025-09-19-graphite-community-meetup-in-germany.md @@ -1,10 +1,11 @@ +++ title = "Graphite community meetup in Germany" date = 2025-09-19 +authors = ["Keavon Chambers"] + [extra] banner = "https://static.graphite.rs/content/blog/2025-09-19-graphite-community-meetup-in-germany.avif" banner_png = "https://static.graphite.rs/content/blog/2025-09-19-graphite-community-meetup-in-germany.png" -author = "Keavon Chambers" summary = "Join us for a Graphite community meetup on October 10th, 2025 in Karlsruhe, Germany. Meet the core team and connect with fellow enthusiasts." reddit = "https://www.reddit.com/r/graphite/comments/1nlt64g/graphite_community_meetup_in_germany_october_10/" twitter = "https://x.com/GraphiteEditor/status/1969324821205925934" diff --git a/website/templates/article.html b/website/templates/article.html index 3e1f202c66..b1577c0a9a 100644 --- a/website/templates/article.html +++ b/website/templates/article.html @@ -14,7 +14,12 @@

{{ page.title }}

- By {{ page.extra.author }}. {{ page.date | date(format = "%B %d, %Y", timezone="America/Los_Angeles") }}. + + {% if page.authors %} + By {{ page.authors | join(sep=", ") }}. + {% endif %} + . +
diff --git a/website/templates/blog.html b/website/templates/blog.html index 4581be356e..f42d2950af 100644 --- a/website/templates/blog.html +++ b/website/templates/blog.html @@ -19,7 +19,12 @@ - By {{ page.extra.author }}. {{ page.date | date(format = "%B %d, %Y", timezone = "America/Los_Angeles") }}. + + {% if page.authors %} + By {{ page.authors | join(sep=", ") }}. + {% endif %} + . +

{{ page.summary | striptags | safe }}

diff --git a/website/templates/rss.xml b/website/templates/rss.xml index f926b7a14b..b60d33a415 100644 --- a/website/templates/rss.xml +++ b/website/templates/rss.xml @@ -14,8 +14,8 @@ {{ page.updated | default(value=page.date) | date(format="%Y-%m-%dT%H:%M:%S%:z") }} {{ page.date | date(format="%Y-%m-%dT%H:%M:%S%:z") }} - {% if page.extra.authors %} - {% for author in page.extra.authors %} + {% if page.authors %} + {% for author in page.authors %} {{ author }} From 3cb1717de3c439853bc19e98e2b2d1fb67ef3555 Mon Sep 17 00:00:00 2001 From: Henry Wilkinson Date: Fri, 31 Oct 2025 02:09:46 -0400 Subject: [PATCH 05/11] Add blog to title --- website/templates/rss.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/templates/rss.xml b/website/templates/rss.xml index b60d33a415..366376cb30 100644 --- a/website/templates/rss.xml +++ b/website/templates/rss.xml @@ -1,6 +1,6 @@ - {{ config.title }} + {{ config.title }} Blog {{ now() | date(format="%Y-%m-%dT%H:%M:%S%:z") }} {{ config.base_url | safe }} From 03f63e316ccfa7fda9776fe1f80b13eaeee541ff Mon Sep 17 00:00:00 2001 From: Henry Wilkinson Date: Fri, 31 Oct 2025 02:18:51 -0400 Subject: [PATCH 06/11] refactor post summaries to use default zola `description` tag --- website/content/blog/2022-02-12-announcing-graphite-alpha.md | 2 +- ...graphite-a-vision-for-the-future-of-2d-content-creation.md | 2 +- ...022-05-12-distributed-computing-in-the-graphene-runtime.md | 2 +- .../blog/2024-01-01-looking-back-on-2023-and-what's-next.md | 2 +- ...phite-internships-announcing-participation-in-gsoc-2024.md | 2 +- .../blog/2024-05-09-graphite-progress-report-q1-2024.md | 3 ++- .../blog/2024-07-31-graphite-progress-report-q2-2024.md | 3 ++- .../blog/2024-10-15-graphite-progress-report-q3-2024.md | 3 ++- ...01-16-year-in-review-2024-highlights-and-a-peek-at-2025.md | 3 ++- .../blog/2025-03-31-graphite-progress-report-q4-2024.md | 3 ++- ...-04-02-internships-for-a-rust-graphics-engine-gsoc-2025.md | 3 ++- .../blog/2025-09-19-graphite-community-meetup-in-germany.md | 3 ++- website/templates/article.html | 4 ++-- website/templates/blog.html | 2 +- website/templates/book.html | 2 +- website/templates/macros/replacements.html | 2 +- website/templates/rss.xml | 4 ++-- 17 files changed, 26 insertions(+), 19 deletions(-) diff --git a/website/content/blog/2022-02-12-announcing-graphite-alpha.md b/website/content/blog/2022-02-12-announcing-graphite-alpha.md index 64a709d40f..a2fd4844af 100644 --- a/website/content/blog/2022-02-12-announcing-graphite-alpha.md +++ b/website/content/blog/2022-02-12-announcing-graphite-alpha.md @@ -2,11 +2,11 @@ title = "Announcing Graphite alpha" date = 2022-02-12 authors = ["Keavon Chambers"] +description = "The Graphite open source team announces the alpha release of their next-generation graphics editor, a web-based SVG editor with vector-based tools. Future plans include a node-based procedural workflow, a raster graphics compositing engine, and a native desktop client." [extra] banner = "https://static.graphite.rs/content/blog/2022-02-12-announcing-graphite-alpha.avif" banner_png = "https://static.graphite.rs/content/blog/2022-02-12-announcing-graphite-alpha.png" -summary = "The Graphite open source team announces the alpha release of their next-generation graphics editor, a web-based SVG editor with vector-based tools. Future plans include a node-based procedural workflow, a raster graphics compositing engine, and a native desktop client." reddit = "https://www.reddit.com/r/graphite/comments/unw3hi/blog_post_announcing_graphite_alpha/" twitter = "https://twitter.com/GraphiteEditor/status/1524663930697568256" +++ diff --git a/website/content/blog/2022-03-12-graphite-a-vision-for-the-future-of-2d-content-creation.md b/website/content/blog/2022-03-12-graphite-a-vision-for-the-future-of-2d-content-creation.md index bcf5e13201..06d49aae4d 100644 --- a/website/content/blog/2022-03-12-graphite-a-vision-for-the-future-of-2d-content-creation.md +++ b/website/content/blog/2022-03-12-graphite-a-vision-for-the-future-of-2d-content-creation.md @@ -2,11 +2,11 @@ title = "Graphite: a vision for the future of 2D content creation" date = 2022-03-12 authors = ["Keavon Chambers"] +description = "Graphite is an open-source application for 2D graphics editing and digital content creation, offering a nondestructive, node-based workflow. It combines intuitive UI with powerful procedural image generators to revolutionize 2D content creation." [extra] banner = "https://static.graphite.rs/content/blog/2022-03-12-graphite-a-vision-for-the-future-of-2d-content-creation.avif" banner_png = "https://static.graphite.rs/content/blog/2022-03-12-graphite-a-vision-for-the-future-of-2d-content-creation.png" -summary = "Graphite is an open-source application for 2D graphics editing and digital content creation, offering a nondestructive, node-based workflow. It combines intuitive UI with powerful procedural image generators to revolutionize 2D content creation." reddit = "https://www.reddit.com/r/graphite/comments/unw3va/blog_post_graphite_a_vision_for_the_future_of_2d/" twitter = "https://twitter.com/GraphiteEditor/status/1524664010091556864" +++ diff --git a/website/content/blog/2022-05-12-distributed-computing-in-the-graphene-runtime.md b/website/content/blog/2022-05-12-distributed-computing-in-the-graphene-runtime.md index 490d5a7b01..5a35c5a9a1 100644 --- a/website/content/blog/2022-05-12-distributed-computing-in-the-graphene-runtime.md +++ b/website/content/blog/2022-05-12-distributed-computing-in-the-graphene-runtime.md @@ -2,11 +2,11 @@ title = "Distributed computing in the Graphene runtime" date = 2022-05-12 authors = ["Keavon Chambers"] +description = "Graphite's 2D editor is built upon Graphene, a node-based editing system for nondestructive design across various data types designed to render artwork faster using multiple machines. The system optimizes execution paths, minimizes latency, and uses a distributed runtime for quick data processing." [extra] banner = "https://static.graphite.rs/content/blog/2022-05-12-distributed-computing-in-the-graphene-runtime__2.avif" banner_png = "https://static.graphite.rs/content/blog/2022-05-12-distributed-computing-in-the-graphene-runtime__2.png" -summary = "Graphite's 2D editor is built upon Graphene, a node-based editing system for nondestructive design across various data types designed to render artwork faster using multiple machines. The system optimizes execution paths, minimizes latency, and uses a distributed runtime for quick data processing." reddit = "https://www.reddit.com/r/graphite/comments/unw45k/blog_post_distributed_computing_in_the_graphene/" twitter = "https://twitter.com/GraphiteEditor/status/1524664083554791424" +++ diff --git a/website/content/blog/2024-01-01-looking-back-on-2023-and-what's-next.md b/website/content/blog/2024-01-01-looking-back-on-2023-and-what's-next.md index 2b8e761db0..b3a1ca1986 100644 --- a/website/content/blog/2024-01-01-looking-back-on-2023-and-what's-next.md +++ b/website/content/blog/2024-01-01-looking-back-on-2023-and-what's-next.md @@ -2,11 +2,11 @@ title = "Looking back on 2023 and what's next" date = 2024-01-01 authors = ["Keavon Chambers"] +description = "Looking back on 2023, we reflect on our significant achievements and milestones. As we move forward, we're excited to share what's next, promising a year filled with innovation and progress." [extra] banner = "https://static.graphite.rs/content/blog/2024-01-01-looking-back-on-2023-and-what's-next.avif" banner_png = "https://static.graphite.rs/content/blog/2024-01-01-looking-back-on-2023-and-what's-next.png" -summary = "Looking back on 2023, we reflect on our significant achievements and milestones. As we move forward, we're excited to share what's next, promising a year filled with innovation and progress." reddit = "https://www.reddit.com/r/graphite/comments/18xmoti/blog_post_looking_back_on_2023_and_whats_next/" twitter = "https://twitter.com/GraphiteEditor/status/1742576805532577937" diff --git a/website/content/blog/2024-02-22-graphite-internships-announcing-participation-in-gsoc-2024.md b/website/content/blog/2024-02-22-graphite-internships-announcing-participation-in-gsoc-2024.md index 991f1ce403..7e5107497f 100644 --- a/website/content/blog/2024-02-22-graphite-internships-announcing-participation-in-gsoc-2024.md +++ b/website/content/blog/2024-02-22-graphite-internships-announcing-participation-in-gsoc-2024.md @@ -2,11 +2,11 @@ title = "Graphite internships: announcing participation in GSoC 2024" date = 2024-02-22 authors = ["Keavon Chambers"] +description = "Join Graphite in Google Summer of Code 2024 for a unique opportunity to contribute to open-source software development in Rust and computer graphics. Get paid while learning, working on self-contained projects under experienced mentors, and help Graphite grow." [extra] banner = "https://static.graphite.rs/content/blog/2024-02-22-graphite-internships-announcing-participation-in-gsoc-2024.avif" banner_png = "https://static.graphite.rs/content/blog/2024-02-22-graphite-internships-announcing-participation-in-gsoc-2024.png" -summary = "Join Graphite in Google Summer of Code 2024 for a unique opportunity to contribute to open-source software development in Rust and computer graphics. Get paid while learning, working on self-contained projects under experienced mentors, and help Graphite grow." reddit = "https://www.reddit.com/r/graphite/comments/1ax3l8z/blog_post_graphite_internships_announcing/" twitter = "https://twitter.com/GraphiteEditor/status/1760619083396165703" +++ diff --git a/website/content/blog/2024-05-09-graphite-progress-report-q1-2024.md b/website/content/blog/2024-05-09-graphite-progress-report-q1-2024.md index b8e9ba17eb..bc13adcd20 100644 --- a/website/content/blog/2024-05-09-graphite-progress-report-q1-2024.md +++ b/website/content/blog/2024-05-09-graphite-progress-report-q1-2024.md @@ -2,11 +2,12 @@ title = "Graphite progress report (Q1 2024)" date = 2024-05-09 authors = ["Keavon Chambers", "Hypercube"] +description = "Graphite's Q1 2024 update introduces a precise snapping system and a customizable grid for enhanced design control. The update also includes improved procedural scattering with the 'Copy to Points' node, demonstrated in new demo artwork." + [extra] banner = "https://static.graphite.rs/content/blog/2024-05-09-graphite-progress-report-q1-2024__2.avif" banner_png = "https://static.graphite.rs/content/blog/2024-05-09-graphite-progress-report-q1-2024__2.png" -summary = "Graphite's Q1 2024 update introduces a precise snapping system and a customizable grid for enhanced design control. The update also includes improved procedural scattering with the 'Copy to Points' node, demonstrated in new demo artwork." reddit = "https://www.reddit.com/r/graphite/comments/1coa0if/blog_post_graphite_progress_report_q1_2024/" twitter = "https://twitter.com/GraphiteEditor/status/1788698448348266946" css = ["/component/demo-artwork.css"] diff --git a/website/content/blog/2024-07-31-graphite-progress-report-q2-2024.md b/website/content/blog/2024-07-31-graphite-progress-report-q2-2024.md index 3f97138984..a3b269d0ba 100644 --- a/website/content/blog/2024-07-31-graphite-progress-report-q2-2024.md +++ b/website/content/blog/2024-07-31-graphite-progress-report-q2-2024.md @@ -2,11 +2,12 @@ title = "Graphite progress report (Q2 2024)" date = 2024-07-31 authors = ["Keavon Chambers", "Hypercube"] +description = "Graphite's Q2 2024 update introduces boolean path operations, a new gradient picker, layer locking, and more improvements." + [extra] banner = "https://static.graphite.rs/content/blog/2024-07-31-graphite-progress-report-q2-2024.avif" banner_png = "https://static.graphite.rs/content/blog/2024-07-31-graphite-progress-report-q2-2024.png" -summary = "Graphite's Q2 2024 update introduces boolean path operations, a new gradient picker, layer locking, and more improvements." reddit = "https://www.reddit.com/r/graphite/comments/1ei9ps2/blog_post_graphite_progress_report_q2_2024/" twitter = "https://x.com/GraphiteEditor/status/1819360794028462569" css = ["/component/demo-artwork.css"] diff --git a/website/content/blog/2024-10-15-graphite-progress-report-q3-2024.md b/website/content/blog/2024-10-15-graphite-progress-report-q3-2024.md index 8354da528e..9febc5f64a 100644 --- a/website/content/blog/2024-10-15-graphite-progress-report-q3-2024.md +++ b/website/content/blog/2024-10-15-graphite-progress-report-q3-2024.md @@ -2,11 +2,12 @@ title = "Graphite progress report (Q3 2024)" date = 2024-10-15 authors = ["Keavon Chambers", "Hypercube"] +description = "Graphite's Q3 2024 update introduces improvements to performance, node graph organization, nondestructive path editing, a new render engine, and more helpful nodes." + [extra] banner = "https://static.graphite.rs/content/blog/2024-10-15-graphite-progress-report-q3-2024.avif" banner_png = "https://static.graphite.rs/content/blog/2024-10-15-graphite-progress-report-q3-2024.png" -summary = "Graphite's Q3 2024 update introduces improvements to performance, node graph organization, nondestructive path editing, a new render engine, and more helpful nodes." reddit = "https://www.reddit.com/r/graphite/comments/1g4h6ya/blog_post_graphite_progress_report_q3_2024/" twitter = "https://x.com/GraphiteEditor/status/1846283664562573344" css = ["/component/demo-artwork.css"] diff --git a/website/content/blog/2025-01-16-year-in-review-2024-highlights-and-a-peek-at-2025.md b/website/content/blog/2025-01-16-year-in-review-2024-highlights-and-a-peek-at-2025.md index 5fee75a279..bcf00fefa8 100644 --- a/website/content/blog/2025-01-16-year-in-review-2024-highlights-and-a-peek-at-2025.md +++ b/website/content/blog/2025-01-16-year-in-review-2024-highlights-and-a-peek-at-2025.md @@ -2,11 +2,12 @@ title = "Year in review: 2024 highlights and a peek at 2025" date = 2025-01-16 authors = ["Keavon Chambers"] +description = "Graphite has come a long way in 2024. Read about the progress made and the plans for the upcoming year." + [extra] banner = "https://static.graphite.rs/content/blog/2025-01-16-year-in-review-2024-highlights-and-a-peek-at-2025.avif" banner_png = "https://static.graphite.rs/content/blog/2025-01-16-year-in-review-2024-highlights-and-a-peek-at-2025.png" -summary = "Graphite has come a long way in 2024. Read about the progress made and the plans for the upcoming year." reddit = "https://www.reddit.com/r/graphite/comments/1i3umnl/blog_post_year_in_review_2024_highlights_and_a/" twitter = "https://x.com/GraphiteEditor/status/1880404337345851612" bluesky = "https://bsky.app/profile/graphiteeditor.bsky.social/post/3lfxysayh622g" diff --git a/website/content/blog/2025-03-31-graphite-progress-report-q4-2024.md b/website/content/blog/2025-03-31-graphite-progress-report-q4-2024.md index 26fcbe8cf6..abebd46854 100644 --- a/website/content/blog/2025-03-31-graphite-progress-report-q4-2024.md +++ b/website/content/blog/2025-03-31-graphite-progress-report-q4-2024.md @@ -2,11 +2,12 @@ title = "Graphite progress report (Q4 2024)" date = 2025-03-31 authors = ["Keavon Chambers", "Hypercube"] +description = "Graphite's Q4 2024 update introduces quality of life features across drawing tools and procedural editing." + [extra] banner = "https://static.graphite.rs/content/blog/2025-03-31-graphite-progress-report-q4-2024.avif" banner_png = "https://static.graphite.rs/content/blog/2025-03-31-graphite-progress-report-q4-2024.png" -summary = "Graphite's Q4 2024 update introduces quality of life features across drawing tools and procedural editing." css = ["/component/demo-artwork.css"] reddit = "https://www.reddit.com/r/graphite/comments/1jpjqcs/blog_post_graphite_progress_report_q4_2024/" twitter = "https://x.com/GraphiteEditor/status/1907350199414206604" diff --git a/website/content/blog/2025-04-02-internships-for-a-rust-graphics-engine-gsoc-2025.md b/website/content/blog/2025-04-02-internships-for-a-rust-graphics-engine-gsoc-2025.md index 60949d11a1..8b60cde570 100644 --- a/website/content/blog/2025-04-02-internships-for-a-rust-graphics-engine-gsoc-2025.md +++ b/website/content/blog/2025-04-02-internships-for-a-rust-graphics-engine-gsoc-2025.md @@ -2,11 +2,12 @@ title = "Internships for a Rust graphics engine: GSoC 2025" date = 2025-04-02 authors = ["Keavon Chambers"] +description = "Join Graphite in Google Summer of Code 2025 for a unique opportunity to contribute to open-source software development in Rust and computer graphics. Get paid while learning, working on self-contained projects under experienced mentors, and help Graphite grow." + [extra] banner = "https://static.graphite.rs/content/blog/2025-04-02-internships-for-a-rust-graphics-engine-gsoc-2025.avif" banner_png = "https://static.graphite.rs/content/blog/2025-04-02-internships-for-a-rust-graphics-engine-gsoc-2025.png" -summary = "Join Graphite in Google Summer of Code 2025 for a unique opportunity to contribute to open-source software development in Rust and computer graphics. Get paid while learning, working on self-contained projects under experienced mentors, and help Graphite grow." reddit = "https://www.reddit.com/r/graphite/comments/1jplm6t/internships_for_a_rust_graphics_engine_gsoc_2025/" twitter = "https://x.com/GraphiteEditor/status/1907384498389651663" bluesky = "https://bsky.app/profile/graphiteeditor.bsky.social/post/3llt7lbmm4s24" diff --git a/website/content/blog/2025-09-19-graphite-community-meetup-in-germany.md b/website/content/blog/2025-09-19-graphite-community-meetup-in-germany.md index 95465b75fa..452cf42378 100644 --- a/website/content/blog/2025-09-19-graphite-community-meetup-in-germany.md +++ b/website/content/blog/2025-09-19-graphite-community-meetup-in-germany.md @@ -2,11 +2,12 @@ title = "Graphite community meetup in Germany" date = 2025-09-19 authors = ["Keavon Chambers"] +description = "Join us for a Graphite community meetup on October 10th, 2025 in Karlsruhe, Germany. Meet the core team and connect with fellow enthusiasts." + [extra] banner = "https://static.graphite.rs/content/blog/2025-09-19-graphite-community-meetup-in-germany.avif" banner_png = "https://static.graphite.rs/content/blog/2025-09-19-graphite-community-meetup-in-germany.png" -summary = "Join us for a Graphite community meetup on October 10th, 2025 in Karlsruhe, Germany. Meet the core team and connect with fellow enthusiasts." reddit = "https://www.reddit.com/r/graphite/comments/1nlt64g/graphite_community_meetup_in_germany_october_10/" twitter = "https://x.com/GraphiteEditor/status/1969324821205925934" bluesky = "https://bsky.app/profile/graphiteeditor.bsky.social/post/3lzaz3uizkc2j" diff --git a/website/templates/article.html b/website/templates/article.html index b1577c0a9a..ad78a6df26 100644 --- a/website/templates/article.html +++ b/website/templates/article.html @@ -5,7 +5,7 @@ {%- set meta_title = page.title -%} {%- set meta_image = page.extra.banner_png | safe -%} {%- set meta_article_type = true -%} -{%- set meta_description = page.extra.summary | default(value = page.content | striptags | safe | linebreaksbr | replace(from = "
", to = " ") | replace(from = " ", to = " ") | trim | truncate(length = 200)) -%} +{%- set meta_description = page.description | default(value = page.content | striptags | safe | linebreaksbr | replace(from = "
", to = " ") | replace(from = " ", to = " ") | trim | truncate(length = 200)) -%} {%- set css = ["/template/article.css", "/layout/reading-material.css"] -%} {%- endblock head -%} @@ -47,7 +47,7 @@

{{ page.title }}

{% endif %}
-{%- if not page.summary -%} +{%- if not page.description -%} {{ throw(message = "------------------------------------------------------------> ARTICLE HAS NO SUMMARY! After the first paragraph (or two short ones), a `` comment must be inserted in the markdown. Otherwise the blog page would be missing its preview text." | safe) }} {%- endif -%} {%- endblock content -%} diff --git a/website/templates/blog.html b/website/templates/blog.html index f42d2950af..a1637cbdf9 100644 --- a/website/templates/blog.html +++ b/website/templates/blog.html @@ -26,7 +26,7 @@

{{ page.title }}

.
-

{{ page.summary | striptags | safe }}

+

{{ page.description | striptags | safe }}

Keep Reading diff --git a/website/templates/book.html b/website/templates/book.html index 12c54c7ec3..8daa32f617 100644 --- a/website/templates/book.html +++ b/website/templates/book.html @@ -3,7 +3,7 @@ {%- block head -%}{%- set page = page | default(value = section) -%} {%- set title = page.title -%} {%- set meta_article_type = true -%} -{%- set meta_description = page.extra.summary | default(value = page.content | striptags | safe | linebreaksbr | replace(from = "
", to = " ") | replace(from = " ", to = " ") | trim | truncate(length = 200)) -%} +{%- set meta_description = page.description | default(value = page.content | striptags | safe | linebreaksbr | replace(from = "
", to = " ") | replace(from = " ", to = " ") | trim | truncate(length = 200)) -%} {%- set linked_css = ["/syntax-highlighting.css"] -%} {%- set css = ["/template/book.css", "/layout/reading-material.css", "/component/code-snippet.css"] -%} {%- set js = ["/js/book.js"] -%} diff --git a/website/templates/macros/replacements.html b/website/templates/macros/replacements.html index f34f76ca82..7407aa9b67 100644 --- a/website/templates/macros/replacements.html +++ b/website/templates/macros/replacements.html @@ -6,7 +6,7 @@

{{ article.title }}

-

{{ article.summary | striptags | safe }}

+

{{ article.description | striptags | safe }}

Keep reading
diff --git a/website/templates/rss.xml b/website/templates/rss.xml index 366376cb30..4bdca83585 100644 --- a/website/templates/rss.xml +++ b/website/templates/rss.xml @@ -22,8 +22,8 @@ {% endfor %} {% endif %} - {% if page.extra.summary %} - {{ page.extra.summary }} + {% if page.description %} + {{ page.description }} {% endif %} Date: Sun, 2 Nov 2025 13:04:29 -0500 Subject: [PATCH 07/11] feat: add tag --- website/templates/rss.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/website/templates/rss.xml b/website/templates/rss.xml index 4bdca83585..4d3f91fcc5 100644 --- a/website/templates/rss.xml +++ b/website/templates/rss.xml @@ -5,6 +5,7 @@ {{ now() | date(format="%Y-%m-%dT%H:%M:%S%:z") }} {{ config.base_url | safe }} {{ config.description }} + Zola {% for page in section.pages %} From 2a47f1be6ed2be17befc14d088006f1177c0709e Mon Sep 17 00:00:00 2001 From: Henry Wilkinson Date: Sun, 2 Nov 2025 13:07:32 -0500 Subject: [PATCH 08/11] feat: add favicon to feed --- website/templates/rss.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/website/templates/rss.xml b/website/templates/rss.xml index 4d3f91fcc5..1c01b6211e 100644 --- a/website/templates/rss.xml +++ b/website/templates/rss.xml @@ -6,6 +6,7 @@ {{ config.base_url | safe }} {{ config.description }} Zola + /favicon-32x32.png {% for page in section.pages %} From a8416aab8230bdeffa271e7a02ca95366509b632 Mon Sep 17 00:00:00 2001 From: Henry Wilkinson Date: Sun, 2 Nov 2025 13:07:59 -0500 Subject: [PATCH 09/11] feat: Add rights info from footer --- website/templates/rss.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/website/templates/rss.xml b/website/templates/rss.xml index 1c01b6211e..8b0b1ed914 100644 --- a/website/templates/rss.xml +++ b/website/templates/rss.xml @@ -7,6 +7,7 @@ {{ config.description }} Zola /favicon-32x32.png + © 2025 Graphite Labs, LLC {% for page in section.pages %} From 69177b3253ead77e8249b59efadcfe041d433222 Mon Sep 17 00:00:00 2001 From: Henry Wilkinson Date: Sun, 2 Nov 2025 13:08:48 -0500 Subject: [PATCH 10/11] fix: change description to blog page description --- website/templates/rss.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/templates/rss.xml b/website/templates/rss.xml index 8b0b1ed914..2d77259f6b 100644 --- a/website/templates/rss.xml +++ b/website/templates/rss.xml @@ -4,7 +4,7 @@ {{ now() | date(format="%Y-%m-%dT%H:%M:%S%:z") }} {{ config.base_url | safe }} - {{ config.description }} + Latest news and articles from the Graphite team. Zola /favicon-32x32.png © 2025 Graphite Labs, LLC From 4488eb98f5dc884d813d228a13c61af7780d23ff Mon Sep 17 00:00:00 2001 From: Henry Wilkinson Date: Sun, 2 Nov 2025 13:40:35 -0500 Subject: [PATCH 11/11] refactor: remove un-needed config change --- website/config.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/website/config.toml b/website/config.toml index 4f063e14b9..3234f68f98 100644 --- a/website/config.toml +++ b/website/config.toml @@ -5,7 +5,6 @@ feed_filenames = ["rss.xml"] compile_sass = true minify_html = false -generate_feeds = false [markdown] highlight_code = true