testing stuff
This commit is contained in:
parent
d1b04c13d1
commit
e0c772db92
6 changed files with 199 additions and 8 deletions
71
flake.lock
generated
71
flake.lock
generated
|
|
@ -1,5 +1,21 @@
|
||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
|
"flake-compat": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1696426674,
|
||||||
|
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flake-utils": {
|
"flake-utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
|
|
@ -50,11 +66,28 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs_3": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1771043024,
|
||||||
|
"narHash": "sha256-O1XDr7EWbRp+kHrNNgLWgIrB0/US5wvw9K6RERWAj6I=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "3aadb7ca9eac2891d52a9dec199d9580a6e2bf44",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-25.11",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"rust-overlay": "rust-overlay"
|
"rust-overlay": "rust-overlay",
|
||||||
|
"zig-overlay": "zig-overlay"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rust-overlay": {
|
"rust-overlay": {
|
||||||
|
|
@ -89,6 +122,42 @@
|
||||||
"repo": "default",
|
"repo": "default",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"systems_2": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"zig-overlay": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": "flake-compat",
|
||||||
|
"nixpkgs": "nixpkgs_3",
|
||||||
|
"systems": "systems_2"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1772540502,
|
||||||
|
"narHash": "sha256-HXlx2i9gGH2HKfBSMihKCvU6DQMVlR4iyOulkSOe+Cg=",
|
||||||
|
"owner": "mitchellh",
|
||||||
|
"repo": "zig-overlay",
|
||||||
|
"rev": "03fa375def0685b8ce282f118452532845f16a20",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "mitchellh",
|
||||||
|
"repo": "zig-overlay",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
|
|
||||||
|
|
@ -5,9 +5,10 @@
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; # or whatever vers
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; # or whatever vers
|
||||||
flake-utils.url = "github:numtide/flake-utils";
|
flake-utils.url = "github:numtide/flake-utils";
|
||||||
rust-overlay.url = "github:oxalica/rust-overlay";
|
rust-overlay.url = "github:oxalica/rust-overlay";
|
||||||
|
zig-overlay.url = "github:mitchellh/zig-overlay";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, flake-utils, rust-overlay, ... }:
|
outputs = { self, nixpkgs, flake-utils, rust-overlay, zig-overlay, ... }:
|
||||||
flake-utils.lib.eachDefaultSystem (system:
|
flake-utils.lib.eachDefaultSystem (system:
|
||||||
let
|
let
|
||||||
overlays = [ (import rust-overlay) ];
|
overlays = [ (import rust-overlay) ];
|
||||||
|
|
@ -19,8 +20,11 @@
|
||||||
devShell = pkgs.mkShell rec {
|
devShell = pkgs.mkShell rec {
|
||||||
LD_LIBRARY_PATH = "${pkgs.lib.makeLibraryPath buildInputs}";
|
LD_LIBRARY_PATH = "${pkgs.lib.makeLibraryPath buildInputs}";
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
(rust-bin.selectLatestNightlyWith (toolchain: toolchain.default))
|
rustc
|
||||||
|
cargo
|
||||||
|
rust-analyzer
|
||||||
gcc
|
gcc
|
||||||
|
zig-overlay.packages."x86_64-linux".master
|
||||||
];
|
];
|
||||||
buildInputs = with pkgs; [
|
buildInputs = with pkgs; [
|
||||||
libdisplay-info
|
libdisplay-info
|
||||||
|
|
|
||||||
40
main.zig
Normal file
40
main.zig
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
const std = @import("std");
|
||||||
|
pub fn main(init: std.process.Init) !void {
|
||||||
|
const xdxdx = try std.Io.Dir.readFileAlloc(std.Io.Dir.cwd(), init.io, "main.zig", init.gpa, .unlimited);
|
||||||
|
defer init.gpa.free(xdxdx);
|
||||||
|
std.debug.print("morbius {s} {s}\n", .{xdxdx, "morbius"});
|
||||||
|
switch (f(.blub)) {
|
||||||
|
.hop => {},
|
||||||
|
.jobb => {},
|
||||||
|
}
|
||||||
|
const heee = h();
|
||||||
|
std.debug.print("{any}\n", .{heee});
|
||||||
|
var huhhh: std.ArrayList(u18) = .empty;
|
||||||
|
defer huhhh.deinit(init.gpa);
|
||||||
|
try huhhh.append(init.gpa, 3333);
|
||||||
|
const Vec3 = @Vector(3, u4);
|
||||||
|
const a: Vec3 = .{3, 4, 5};
|
||||||
|
//const b: Vec3 = .{3, 4, 5};
|
||||||
|
std.debug.print("{any}", .{@reduce(.Add, a)});
|
||||||
|
//inline for (.{Gloob {}, Gleeeb {}}) |v| {
|
||||||
|
// v.morbiusss();
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
|
||||||
|
//const Gloob = struct {
|
||||||
|
// fn morbiusss( self: @This ) void {
|
||||||
|
// }
|
||||||
|
//};
|
||||||
|
const Gleeeb = struct {
|
||||||
|
fn morbiusss() void {
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
fn h() [4]u8 {
|
||||||
|
return .{3,4,2,1};
|
||||||
|
}
|
||||||
|
|
||||||
|
fn f(x: enum { glob, blub }) enum { hop, jobb } {
|
||||||
|
_ = x;
|
||||||
|
return .jobb;
|
||||||
|
}
|
||||||
5
run.sh
5
run.sh
|
|
@ -1,3 +1,6 @@
|
||||||
#/bin/sh
|
#/bin/sh
|
||||||
cargo run "$@" > blog.html
|
cargo run "$@" > blog.html
|
||||||
sed template.html -e '/INSERT_HERE/r blog.html' > result.html
|
sed template.html -e '/INSERT_HERE/{
|
||||||
|
r blog.html
|
||||||
|
d
|
||||||
|
}' > result.html
|
||||||
|
|
|
||||||
74
src/main.rs
74
src/main.rs
|
|
@ -1,12 +1,80 @@
|
||||||
use std::fs::read;
|
fn header(i: &str) -> Option<(&str, String)> {
|
||||||
|
let mut itr = i.chars();
|
||||||
|
if let Some(next) = itr.next() && next == '\n' {
|
||||||
|
if let Some(maybe_star) = itr.skip_while(|c| *c == ' ' || *c == '\t').next() && maybe_star == '*' {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Some((i, "<h1>".to_string()))
|
||||||
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
// arg 1: src, arg 2: dest
|
// arg 1: src, arg 2: dest
|
||||||
let args: Vec<String> = std::env::args().collect();
|
let args: Vec<String> = std::env::args().collect();
|
||||||
let input: String = std::fs::read_to_string(&args[1]).unwrap();
|
let input: String = std::fs::read_to_string(&args[1]).unwrap();
|
||||||
let mut output = input;
|
let mut output: String = String::new();
|
||||||
|
|
||||||
|
let mut is_bold = false;
|
||||||
|
let mut title: Option<usize> = None;
|
||||||
|
|
||||||
|
let mut itr = input.chars().peekable();
|
||||||
|
while let Some(c) = itr.next() {
|
||||||
|
match c {
|
||||||
|
'*' => {
|
||||||
|
if !is_bold {
|
||||||
|
output.push_str("<b>");
|
||||||
|
is_bold = true;
|
||||||
|
} else {
|
||||||
|
output.push_str("</b>");
|
||||||
|
is_bold = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'\n' => {
|
||||||
|
if let Some(title_count) = title {
|
||||||
|
title = None;
|
||||||
|
output.push_str(&format!("</h{title_count}>"));
|
||||||
|
} else {
|
||||||
|
let mut title_count = 0;
|
||||||
|
while let Some(c) = itr.peek() {
|
||||||
|
if *c == '#' {
|
||||||
|
title_count += 1;
|
||||||
|
} else if *c == ' ' || *c == '\t' {
|
||||||
|
// it is title
|
||||||
|
output.push_str(&format!("<h{title_count}>"));
|
||||||
|
title = Some(title_count);
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
output.push('\n');
|
||||||
|
}
|
||||||
|
_ => {
|
||||||
|
output.push(c);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
println!("{output}");
|
||||||
|
|
||||||
|
//let output: String = input.lines().map(|l| {
|
||||||
|
// // Titles
|
||||||
|
// let count = l.chars().take_while(|c| *c == '#').count();
|
||||||
|
// if count > 0 {
|
||||||
|
// format!("<h{count}>{}</h{count}>", &l[count..])
|
||||||
|
// } else {
|
||||||
|
// l.to_string()
|
||||||
|
// }
|
||||||
|
//})
|
||||||
|
//.map(|l| {
|
||||||
|
// if l.chars().skip_while(|c| *c == ' ' || *c == '\t').next().unwrap_or('g') == '*' {
|
||||||
|
//
|
||||||
|
// } else {
|
||||||
|
// l.to_string()
|
||||||
|
// }
|
||||||
|
//})
|
||||||
|
//.collect();
|
||||||
|
|
||||||
// headings: replace # - newline to <h1> - </h1>
|
// headings: replace # - newline to <h1> - </h1>
|
||||||
|
|
||||||
println!("{}", output);
|
//println!("{}", output);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,13 @@
|
||||||
<body>
|
<body>
|
||||||
<p>MDF BLOG 🍼</p>
|
<p>MDF BLOG 🍼</p>
|
||||||
INSERT_HERE
|
INSERT_HERE
|
||||||
|
<h2>Testing erm, stuff</h2>
|
||||||
|
<b>bold</b>
|
||||||
|
<ul>
|
||||||
|
<li>an item</li>
|
||||||
|
</ul>
|
||||||
|
<i>italics</i>
|
||||||
|
🔈️🍰👆️
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue