Skip to content

Commit b2adc5c

Browse files
committed
refactor: move various file generation from tests to a separate crate
1 parent 030d069 commit b2adc5c

22 files changed

+1336
-2740
lines changed

.github/workflows/build_latest.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ on:
1111
- "site/**"
1212
- "pad/**"
1313
- "tests*/**"
14+
- "generator/**"
1415
- "changelog.md"
1516
- "readme.md"
1617
- ".github/workflows/build_latest.yml"
@@ -103,16 +104,20 @@ jobs:
103104
run: |
104105
rustup target add wasm32-unknown-unknown
105106
cargo install trunk --locked --root target
107+
cargo install --release --locked --package uiua-generator --root target
106108
- name: Build site
107109
run: |
108110
git checkout site
109111
git branch --set-upstream-to=origin/site
110112
git reset --hard origin/site
111113
git rebase main || { echo "Rebase failed, aborting."; git rebase --abort; exit 1; }
112114
cd site
113-
cargo test -p site gen_blog_html
115+
../target/bin/uiua-generator primitives-json ./primitives.json
116+
../target/bin/uiua-generator format-config-docs ./text/format_config.md
117+
../target/bin/uiua-generator blog-html ./blog/
114118
../target/bin/trunk build --release -d ../docs
115119
git add --all
120+
git add --force primitive.json text/format_config.md
116121
git commit --amend --no-edit
117122
git push --force
118123
git checkout main

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,7 @@ uiua.tmLanguage.json
2626

2727
# symlink created by `nix build`
2828
result
29-
.direnv
29+
.direnv
30+
31+
site/primitives.json
32+
site/text/format_config.md

Cargo.lock

Lines changed: 20 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,7 @@ web = ["wasm-bindgen", "js-sys", "web-sys"]
160160
webcam = ["image", "nokhwa"]
161161
window = ["eframe", "rmp-serde", "image", "native-dialog"]
162162
xlsx = ["calamine", "simple_excel_writer"]
163+
internal_fmt_doc = []
163164
# Use system static libraries instead of building them
164165
system = ["libffi?/system"]
165166

@@ -168,7 +169,7 @@ name = "uiua"
168169
required-features = ["binary"]
169170

170171
[workspace]
171-
members = ["site", "tests_ffi", "pad/editor", "parser"]
172+
members = ["site", "tests_ffi", "pad/editor", "parser", "generator"]
172173

173174
[workspace.lints.clippy]
174175
dbg_macro = "warn"

flake.nix

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,15 @@
6161
};
6262
packages = {
6363
default = pkgs.callPackage ./nix/package.nix { inherit craneLib libPath rustPlatform; };
64+
generator = pkgs.callPackage ./nix/generator.nix { inherit craneLib; };
6465
fonts = pkgs.callPackage ./nix/fonts.nix { };
65-
site = pkgs.callPackage ./nix/site.nix { inherit craneLib; };
66+
site = pkgs.callPackage ./nix/site.nix {
67+
inherit craneLib;
68+
inherit (self'.packages) generator;
69+
};
70+
sublime-grammar = pkgs.callPackage ./nix/sublime-grammar.nix {
71+
inherit (self'.packages) generator;
72+
};
6673
toolchain = toolchainFor pkgs;
6774
};
6875
apps.site.program = pkgs.writeShellApplication {

generator/Cargo.toml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
[package]
2+
name = "uiua-generator"
3+
version = "0.1.0"
4+
edition = "2024"
5+
6+
[dependencies]
7+
anyhow = "1.0.98"
8+
clap = { version = "4.5.41", features = ["derive"] }
9+
comrak = "0.39.0"
10+
either = "1.15.0"
11+
serde = { version = "1.0.219", features = ["derive"] }
12+
serde_json = "1.0.140"
13+
site = { path = "../site", default-features = false, features = ["gen_blog_html"] }
14+
uiua = { path = "..", default-features = false, features = [
15+
"internal_fmt_doc",
16+
] }

0 commit comments

Comments
 (0)