diff --git a/.gitignore b/.gitignore index b14c7fc..f2d5b30 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ zig-cache/ -render/ \ No newline at end of file +render/ +zig-out/ diff --git a/build.zig b/build.zig index b0a0cd2..4b2f483 100644 --- a/build.zig +++ b/build.zig @@ -5,15 +5,15 @@ const pkgs = struct { .name = "koino", .source = .{ .path = "./deps/koino/src/koino.zig" }, .dependencies = &[_]std.build.Pkg{ - std.build.Pkg{ .name = "libpcre", .source = .{ .path = "deps/koino/vendor/libpcre.zig/src/main.zig" } }, - std.build.Pkg{ .name = "htmlentities", .source = .{ .path = "deps/koino/vendor/htmlentities.zig/src/main.zig" } }, + std.build.Pkg{ .name = "libpcre", .source = .{ .path = "deps/koino/vendor/libpcre/src/main.zig" } }, + std.build.Pkg{ .name = "htmlentities", .source = .{ .path = "deps/koino/vendor/htmlentities/src/main.zig" } }, std.build.Pkg{ .name = "clap", .source = .{ .path = "deps/koino/vendor/zig-clap/clap.zig" } }, std.build.Pkg{ .name = "zunicode", .source = .{ .path = "deps/koino/vendor/zunicode/src/zunicode.zig" } }, }, }; }; -const linkPcre = @import("deps/koino/vendor/libpcre.zig/build.zig").linkPcre; +const linkPcre = @import("deps/koino/vendor/libpcre/build.zig").linkPcre; pub fn build(b: *std.build.Builder) !void { const target = b.standardTargetOptions(.{}); @@ -24,6 +24,7 @@ pub fn build(b: *std.build.Builder) !void { render_website.setBuildMode(mode); try linkPcre(render_website); render_website.addPackage(pkgs.koino); + render_website.install(); const gen_cmd = render_website.run(); diff --git a/deps/koino b/deps/koino index a3179c9..5ea268b 160000 --- a/deps/koino +++ b/deps/koino @@ -1 +1 @@ -Subproject commit a3179c9316926f71582d8278af4e2f6f912cbc71 +Subproject commit 5ea268b50116f2f06bfa9b83f24324ec8c211be1 diff --git a/ember-icon.xcf b/ember-icon.xcf new file mode 100644 index 0000000..7b1db9f Binary files /dev/null and b/ember-icon.xcf differ diff --git a/src/main.zig b/src/main.zig index ff5a043..6a437e4 100644 --- a/src/main.zig +++ b/src/main.zig @@ -80,7 +80,7 @@ pub fn main() anyerror!void { // img articles { - var dir = try root_dir.openDir("img", .{ .iterate = true }); + var dir = try root_dir.openIterableDir("img", .{}); defer dir.close(); var iter = dir.iterate(); @@ -103,7 +103,7 @@ pub fn main() anyerror!void { // gather articles { - var dir = try root_dir.openDir("articles", .{ .iterate = true }); + var dir = try root_dir.openIterableDir("articles", .{}); defer dir.close(); var iter = dir.iterate(); @@ -143,9 +143,24 @@ pub fn main() anyerror!void { var root_dir = try std.fs.cwd().makeOpenPath("render", .{}); defer root_dir.close(); - try root_dir.writeFile("style.css", @embedFile("style.css")); + try std.fs.Dir.copyFile( + std.fs.cwd(), + "src/style.css", + root_dir, + "style.css", + .{}, + ); + + try std.fs.Dir.copyFile( + std.fs.cwd(), + "website/favicon.ico", + root_dir, + "favicon.ico", + .{}, + ); try website.renderHtmlFile("website/index.htm", root_dir, "index.htm"); + try website.renderHtmlFile("website/getting-started.htm", root_dir, "getting-started.htm"); try website.renderArticleIndex(root_dir, "articles.htm"); diff --git a/src/style.css b/src/style.css index 6e0aec8..72a7fba 100644 --- a/src/style.css +++ b/src/style.css @@ -57,7 +57,8 @@ h1:hover a, h2:hover a, h3:hover a, h4:hover a, h5:hover a, h6:hover a { opacity: 50%; }*/ -@import"https://rsms.me/inter/inter.css"; +@import "https://rsms.me/inter/inter.css"; +@import "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"; html { font-family: "Inter", "Arial", sans-serif @@ -170,3 +171,16 @@ strong a { width: 80%; padding: 40px } + +a[href^="http"]::after, +a[href^="https://"]::after { + content: ""; + width: 11px; + height: 11px; + margin-left: 4px; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' stroke='%235c8ebf' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8.636 3.5a.5.5 0 0 0-.5-.5H1.5A1.5 1.5 0 0 0 0 4.5v10A1.5 1.5 0 0 0 1.5 16h10a1.5 1.5 0 0 0 1.5-1.5V7.864a.5.5 0 0 0-1 0V14.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5z'/%3E%3Cpath fill-rule='evenodd' d='M16 .5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793L6.146 9.146a.5.5 0 1 0 .708.708L15 1.707V5.5a.5.5 0 0 0 1 0v-5z'/%3E%3C/svg%3E"); + background-position: center; + background-repeat: no-repeat; + background-size: contain; + display: inline-block; +} \ No newline at end of file diff --git a/website/favicon.ico b/website/favicon.ico new file mode 100644 index 0000000..af56b80 Binary files /dev/null and b/website/favicon.ico differ diff --git a/website/getting-started.htm b/website/getting-started.htm new file mode 100644 index 0000000..20468b5 --- /dev/null +++ b/website/getting-started.htm @@ -0,0 +1,51 @@ +
+ + +
+ +
+

example projects

+ + +
+ +
+

microzig examples

+ + +
+ +
+

external tutorials

+ + +
+ +
+ + +
diff --git a/website/index.htm b/website/index.htm index 62b6119..6665301 100644 --- a/website/index.htm +++ b/website/index.htm @@ -7,7 +7,7 @@

goals

- +
- +

important links

- +
@@ -32,25 +31,26 @@

community

-

articles

+

projects

-

members

- +

core members

+
\ No newline at end of file +