Compare commits

..

6 Commits

Author SHA1 Message Date
05a0b32d9b refactor md parser, TODO: parse_str
Some checks failed
Test the running changes / Test (push) Failing after 44s
2025-11-14 02:28:22 +02:00
ddd6d072f9 added worspace bacon.toml 2025-11-14 02:21:17 +02:00
9d12ad5050 testing on dev push, half-baked deployment workflow 2025-11-14 02:19:16 +02:00
4a7f5eabe9 added lock files
All checks were successful
Test the running changes / Test (push) Successful in 39s
2025-11-13 14:30:42 +02:00
29688e07e4 test on master push
All checks were successful
Test the running changes / Test (push) Successful in 38s
2025-11-10 12:07:09 +02:00
c10ad0f6a6 added test workflow 2025-11-10 00:15:26 +02:00
10 changed files with 300 additions and 18 deletions

View File

@@ -1,23 +1,22 @@
name: Test
name: Test the running changes
on:
push:
branches: [ "master" ]
branches: [ "dev" ]
pull_request:
branches: [ "master" ]
env:
CARGO_TERM_COLOR: always
env:
CARGO_TERM_COLOR: always
jobs:
build:
name: Cargo test
runs-on: ubuntu-latest
jobs:
test:
name: Test
runs-on: rust-latest
steps:
- name: Build
uses: actions/checkout@v4
run: cargo build --verbose
- name: Run tests
run: cargo test --verbose
steps:
- run: apt-get update -y && apt-get install nodejs -y
- uses: actions/checkout@v4
- run: cargo build --verbose
- run: cargo clippy -- -D warnings
- run: cargo test --verbose

View File

@@ -0,0 +1,32 @@
name: Build and deploy Docker image
on:
push:
branches:
- master
env:
CARGO_TERM_COLOR: always
jobs:
deploy:
name: Deploy
runs-on: rust-latest
steps:
- run: apt-get update -y && apt-get install nodejs -y
- uses: actions/checkout@v4
- run: cargo build --release
- uses: docker/setup-buildx-action@v3
with:
config-inline: |
[registry."gitea-http.apps.svc.cluster.local:3000"]
http = true
insecure = true
- uses: docker/build-push-action@v5
with:
context: .
file: ./Dockerfile
push: true
tags: "gitea-http.apps.svc.cluster.local:3000".....

2
.gitignore vendored
View File

@@ -3,5 +3,3 @@ web/
target/
result
Cargo.lock
flake.lock

22
Cargo.lock generated Normal file
View File

@@ -0,0 +1,22 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 4
[[package]]
name = "cracked_md"
version = "0.1.0"
dependencies = [
"fstools",
]
[[package]]
name = "fstools"
version = "0.1.0"
[[package]]
name = "stdsrv"
version = "0.1.0"
dependencies = [
"cracked_md",
"fstools",
]

129
bacon.toml Normal file
View File

@@ -0,0 +1,129 @@
# This is a configuration file for the bacon tool
#
# Complete help on configuration: https://dystroy.org/bacon/config/
#
# You may check the current default at
# https://github.com/Canop/bacon/blob/main/defaults/default-bacon.toml
default_job = "check"
env.CARGO_TERM_COLOR = "always"
[jobs.check]
command = ["cargo", "check"]
need_stdout = false
[jobs.check-all]
command = ["cargo", "check", "--all-targets"]
need_stdout = false
# Run clippy on the default target
[jobs.clippy]
command = ["cargo", "clippy"]
need_stdout = false
# Run clippy on all targets
# To disable some lints, you may change the job this way:
# [jobs.clippy-all]
# command = [
# "cargo", "clippy",
# "--all-targets",
# "--",
# "-A", "clippy::bool_to_int_with_if",
# "-A", "clippy::collapsible_if",
# "-A", "clippy::derive_partial_eq_without_eq",
# ]
# need_stdout = false
[jobs.clippy-all]
command = ["cargo", "clippy", "--all-targets"]
need_stdout = false
# Run clippy in pedantic mode
# The 'dismiss' feature may come handy
[jobs.pedantic]
command = [
"cargo", "clippy",
"--",
"-W", "clippy::pedantic",
]
need_stdout = false
# This job lets you run
# - all tests: bacon test
# - a specific test: bacon test -- config::test_default_files
# - the tests of a package: bacon test -- -- -p config
[jobs.test]
command = [
"cargo", "nextest", "run",
"--hide-progress-bar", "--failure-output", "final"
]
need_stdout = true
analyzer = "nextest"
[jobs.nextest]
command = [
"cargo", "nextest", "run",
"--hide-progress-bar", "--failure-output", "final"
]
need_stdout = true
analyzer = "nextest"
[jobs.doc]
command = ["cargo", "doc", "--no-deps"]
need_stdout = false
# If the doc compiles, then it opens in your browser and bacon switches
# to the previous job
[jobs.doc-open]
command = ["cargo", "doc", "--no-deps", "--open"]
need_stdout = false
on_success = "back" # so that we don't open the browser at each change
# You can run your application and have the result displayed in bacon,
# if it makes sense for this crate.
[jobs.run]
command = [
"cargo", "run",
# put launch parameters for your program behind a `--` separator
]
need_stdout = true
allow_warnings = true
background = true
# Run your long-running application (eg server) and have the result displayed in bacon.
# For programs that never stop (eg a server), `background` is set to false
# to have the cargo run output immediately displayed instead of waiting for
# program's end.
# 'on_change_strategy' is set to `kill_then_restart` to have your program restart
# on every change (an alternative would be to use the 'F5' key manually in bacon).
# If you often use this job, it makes sense to override the 'r' key by adding
# a binding `r = job:run-long` at the end of this file .
# A custom kill command such as the one suggested below is frequently needed to kill
# long running programs (uncomment it if you need it)
[jobs.run-long]
command = [
"cargo", "run",
# put launch parameters for your program behind a `--` separator
]
need_stdout = true
allow_warnings = true
background = false
on_change_strategy = "kill_then_restart"
# kill = ["pkill", "-TERM", "-P"]
# This parameterized job runs the example of your choice, as soon
# as the code compiles.
# Call it as
# bacon ex -- my-example
[jobs.ex]
command = ["cargo", "run", "--example"]
need_stdout = true
allow_warnings = true
# You may define here keybindings that would be specific to
# a project, for example a shortcut to launch a specific job.
# Shortcuts to internal functions (scrolling, toggling, etc.)
# should go in your personal global prefs.toml file instead.
[keybindings]
# alt-m = "job:my-job"
c = "job:clippy-all" # comment this to have 'c' run clippy on only the default target
p = "job:pedantic"

14
cracked_md/Cargo.lock generated Normal file
View File

@@ -0,0 +1,14 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 4
[[package]]
name = "cracked_md"
version = "0.1.0"
dependencies = [
"fstools",
]
[[package]]
name = "fstools"
version = "0.1.0"

View File

@@ -1,4 +1,3 @@
pub trait ToHtml {
fn to_html(self) -> String;
}

60
flake.lock generated Normal file
View File

@@ -0,0 +1,60 @@
{
"nodes": {
"flake-utlis": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1762596750,
"narHash": "sha256-rXXuz51Bq7DHBlfIjN7jO8Bu3du5TV+3DSADBX7/9YQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "b6a8526db03f735b89dd5ff348f53f752e7ddc8e",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-unstable",
"type": "indirect"
}
},
"root": {
"inputs": {
"flake-utlis": "flake-utlis",
"nixpkgs": "nixpkgs"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

7
fstools/Cargo.lock generated Normal file
View File

@@ -0,0 +1,7 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 4
[[package]]
name = "fstools"
version = "0.1.0"

22
stdsrv/Cargo.lock generated Normal file
View File

@@ -0,0 +1,22 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 4
[[package]]
name = "cracked_md"
version = "0.1.0"
dependencies = [
"fstools",
]
[[package]]
name = "fstools"
version = "0.1.0"
[[package]]
name = "stdsrv"
version = "0.1.0"
dependencies = [
"cracked_md",
"fstools",
]