Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP serving local fonts #2186

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 11 additions & 6 deletions .github/workflows/build-dev-and-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,12 @@ name: "Editor: Dev & CI"
on:
push:
branches:
- master
- locally-serve-fonts
pull_request:
branches:
- master
- locally-serve-fonts
env:
CARGO_TERM_COLOR: always
INDEX_HTML_HEAD_REPLACEMENT: <script defer data-domain="dev.graphite.rs" data-api="https://graphite.rs/visit/event" src="https://graphite.rs/visit/script.hash.js"></script>

jobs:
build:
Expand Down Expand Up @@ -50,9 +49,15 @@ jobs:

- name: ✂ Replace template in <head> of index.html
run: |
# Remove the INDEX_HTML_HEAD_REPLACEMENT environment variable for build links (not master deploys)
git rev-parse --abbrev-ref HEAD | grep master > /dev/null || export INDEX_HTML_HEAD_REPLACEMENT=""
sed -i "s|<!-- INDEX_HTML_HEAD_REPLACEMENT -->|$INDEX_HTML_HEAD_REPLACEMENT|" frontend/index.html
# Check if we are on the locally-serve-fonts branch
if git rev-parse --abbrev-ref HEAD | grep locally-serve-fonts > /dev/null; then
export INDEX_HTML_HEAD_SCRIPT=$(curl -s https://graphite.rs/visit/script.hash.js) || exit 1
export INDEX_HTML_HEAD_REPLACEMENT="<script data-domain=\"dev.graphite.rs\" data-api=\"https://graphite.rs/visit/event\">$INDEX_HTML_HEAD_SCRIPT</script>"
else
export INDEX_HTML_HEAD_REPLACEMENT=""
fi
ESCAPED_REPLACEMENT=$(printf '%s\n' "$INDEX_HTML_HEAD_REPLACEMENT" | sed -e 's/[\/&]/\\&/g')
sed -i "s|<!-- INDEX_HTML_HEAD_REPLACEMENT -->|$ESCAPED_REPLACEMENT|" frontend/index.html

- name: 🌐 Build Graphite web code
env:
Expand Down
9 changes: 8 additions & 1 deletion .github/workflows/build-production.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ jobs:
RUSTC_WRAPPER: /usr/bin/sccache
CARGO_INCREMENTAL: 0
SCCACHE_DIR: /var/lib/github-actions/.cache
INDEX_HTML_HEAD_REPLACEMENT: <script defer data-domain="editor.graphite.rs" data-api="https://graphite.rs/visit/event" src="https://graphite.rs/visit/script.hash.js"></script>

steps:
- name: 📥 Clone and checkout repository
Expand Down Expand Up @@ -47,7 +46,15 @@ jobs:

- name: ✂ Replace template in <head> of index.html
run: |
# Check if we are on the locally-serve-fonts branch
if git rev-parse --abbrev-ref HEAD | grep locally-serve-fonts > /dev/null; then
export INDEX_HTML_HEAD_SCRIPT=$(curl -s https://graphite.rs/visit/script.hash.js) || exit 1
export INDEX_HTML_HEAD_REPLACEMENT="<script data-domain=\"editor.graphite.rs\" data-api=\"https://graphite.rs/visit/event\">$INDEX_HTML_HEAD_SCRIPT</script>"
else
export INDEX_HTML_HEAD_REPLACEMENT=""
fi
sed -i "s|<!-- INDEX_HTML_HEAD_REPLACEMENT -->|$INDEX_HTML_HEAD_REPLACEMENT|" frontend/index.html
echo "INDEX_HTML_HEAD_REPLACEMENT=$INDEX_HTML_HEAD_REPLACEMENT" >> $GITHUB_ENV

- name: 🌐 Build Graphite web code
env:
Expand Down
5 changes: 2 additions & 3 deletions .github/workflows/comment-!build-commands.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,9 +74,8 @@ jobs:

- name: ✂ Replace template in <head> of index.html
run: |
# Remove the INDEX_HTML_HEAD_REPLACEMENT environment variable for build links (not master deploys)
export INDEX_HTML_HEAD_REPLACEMENT=""
sed -i "s|<!-- INDEX_HTML_HEAD_REPLACEMENT -->|$INDEX_HTML_HEAD_REPLACEMENT|" frontend/index.html
# Remove the INDEX_HTML_HEAD_REPLACEMENT comment for build links (not master deploys)
sed -i "s|<!-- INDEX_HTML_HEAD_REPLACEMENT -->||" frontend/index.html

- name: ⌨ Set build command based on comment
id: build_command
Expand Down
15 changes: 10 additions & 5 deletions .github/workflows/website.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,17 @@ name: "Website"
on:
push:
branches:
- master
- locally-serve-fonts
paths:
- website/**
pull_request:
branches:
- master
- locally-serve-fonts
paths:
- website/**
env:
CARGO_TERM_COLOR: always
INDEX_HTML_HEAD_INCLUSION: <script defer data-domain="graphite.rs" data-api="/visit/event" src="/visit/script.js"></script>
INDEX_HTML_HEAD_INCLUSION: REPLACE_ME

jobs:
build:
Expand All @@ -34,8 +34,13 @@ jobs:

- name: ✂ Replace template in <head> of index.html
run: |
# Remove the INDEX_HTML_HEAD_INCLUSION environment variable for build links (not master deploys)
git rev-parse --abbrev-ref HEAD | grep master > /dev/null || export INDEX_HTML_HEAD_INCLUSION=""
# Check if we are on the locally-serve-fonts branch
if git rev-parse --abbrev-ref HEAD | grep locally-serve-fonts > /dev/null; then
export INDEX_HTML_HEAD_SCRIPT=$(curl -s https://graphite.rs/visit/script.hash.js) || exit 1
echo "INDEX_HTML_HEAD_INCLUSION=<script data-domain=\"graphite.rs\" data-api=\"/visit/event\">$INDEX_HTML_HEAD_SCRIPT</script>" >> $GITHUB_ENV
else
echo "INDEX_HTML_HEAD_INCLUSION=<script>alert();</script>" >> $GITHUB_ENV
fi

- name: 🌐 Build Graphite website with Zola
env:
Expand Down
4 changes: 2 additions & 2 deletions website/content/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ title = "Free online vector editor & procedural design tool"
template = "section.html"

[extra]
css = ["/page/index.css", "/component/carousel.css", "/component/feature-icons.css", "/component/feature-box.css", "/component/youtube-embed.css", "/layout/balance-text.css"]
css = ["/page/index.css", "/component/carousel.css", "/component/feature-icons.css", "/component/feature-box.css", "/component/youtube-embed.css"]
js = ["/js/carousel.js", "/js/youtube-embed.js", "/js/video-autoplay.js"]
linked_js = ["https://static.graphite.rs/text-balancer/text-balancer.js"]
linked_js = []
meta_description = "Open source free software. A vector graphics creativity suite with a clean, intuitive interface. Opens instantly (no signup) and runs locally in a browser. Exports SVG, PNG, JPG."
+++

Expand Down
6 changes: 3 additions & 3 deletions website/content/donate.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
title = "Donate"

[extra]
# css = ["/page/donate.css", "/component/feature-box.css", "/layout/balance-text.css"]
# css = ["/page/donate.css", "/component/feature-box.css"]
# js = ["/js/fundraising.js"]
# linked_js = ["https://static.graphite.rs/text-balancer/text-balancer.js"]
# linked_js = []
+++

<section>
Expand Down Expand Up @@ -33,7 +33,7 @@ Your monthly support (or one-off contribution) helps provide the resources neede

# Support the mission

<p class="balance-text">
<p>
You can help realize Graphite's ambitious vision of building the ultimate 2D creative tool.
Graphite is built by a small, dedicated crew of volunteers in need of resources to grow.
</p>
Expand Down
4 changes: 4 additions & 0 deletions website/sass/base.scss
Original file line number Diff line number Diff line change
Expand Up @@ -357,6 +357,10 @@ article {
min-height: 0;
}

.balance-text {
text-wrap: balance;
}

// ==================================
// HEADER AND TEXT ELEMENT TAG STYLES
// ==================================
Expand Down
55 changes: 55 additions & 0 deletions website/sass/fonts.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
// BONA NOVA
@font-face {
font-family: "Bona Nova";
font-style: normal;
font-weight: 700;
font-display: swap;
src: url("https://static.graphite.rs/fonts/BonaNova.woff2") format("woff2");
}

// INTER
@font-face {
font-family: "Inter";
font-style: normal;
font-weight: 100 900;
font-display: swap;
src: url("https://static.graphite.rs/fonts/InterVariable-v4.1.woff2") format("woff2");
}
@font-face {
font-family: "Inter";
font-style: italic;
font-weight: 100 900;
font-display: swap;
src: url("https://static.graphite.rs/fonts/InterVariable-Italic-v4.1.woff2") format("woff2");
}
@font-feature-values Inter {
@character-variant {
cv01: 1; cv02: 2; cv03: 3; cv04: 4; cv05: 5; cv06: 6; cv07: 7; cv08: 8;
cv09: 9; cv10: 10; cv11: 11; cv12: 12; cv13: 13;
alt-1: 1; // Alternate one
alt-3: 9; // Flat-top three
open-4: 2; // Open four
open-6: 3; // Open six
open-9: 4; // Open nine
lc-l-with-tail: 5; // Lower-case L with tail
simplified-u: 6; // Simplified u
alt-double-s: 7; // Alternate German double s
uc-i-with-serif: 8; // Upper-case i with serif
uc-g-with-spur: 10; // Capital G with spur
single-story-a: 11; // Single-story a
compact-lc-f: 12; // Compact f
compact-lc-t: 13; // Compact t
}

@styleset {
ss01: 1; ss02: 2; ss03: 3; ss04: 4; ss05: 5; ss06: 6; ss07: 7; ss08: 8;
open-digits: 1; // Open digits
disambiguation: 2; // Disambiguation (with zero)
disambiguation-except-zero: 4; // Disambiguation (no zero)
round-quotes-and-commas: 3; // Round quotes &amp; commas
square-punctuation: 7; // Square punctuation
square-quotes: 8; // Square quotes
circled-characters: 5; // Circled characters
squared-characters: 6; // Squared characters
}
}
22 changes: 0 additions & 22 deletions website/sass/layout/balance-text.scss

This file was deleted.

7 changes: 3 additions & 4 deletions website/templates/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,12 @@
{% block rss -%}
<link rel="alternate" type="application/rss+xml" title="RSS" href="{{ get_url(path = 'blog/rss.xml', trailing_slash = false) | safe }}" />
{%- endblock %}
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />

{#- ON EVERY PAGE OF THE SITE: CSS AND JS TO LOAD EITHER AS A LINK OR INLINE -#}
{#- ======================================================================== -#}
{%- set global_linked_css = ["https://fonts.googleapis.com/css2?family=Bona+Nova:wght@700&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap"] -%}
{%- set global_linked_css = [] -%}
{%- set global_linked_js = [] -%}
{%- set global_css = ["/base.css"] -%}
{%- set global_css = ["/base.css", "/fonts.css"] -%}
{%- set global_js = ["/js/text-justification.js", "/js/navbar.js"] -%}

{#- RETRIEVE FROM TEMPLATES AND PAGES: CSS AND JS TO LOAD EITHER AS A LINK OR INLINE -#}
Expand Down Expand Up @@ -89,6 +87,7 @@
{{ load_data(path = path) | safe }}
{{ "</" ~ "script>" | safe }}
{%- endfor %}

{{- get_env(name = "INDEX_HTML_HEAD_INCLUSION", default = "") | safe }}
</head>
<body>
Expand Down
Loading