Skip to content

Commit e98deb6

Browse files
committed
move content to zine, add github page
1 parent 47322e9 commit e98deb6

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+1333
-40
lines changed

.clang-format

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# List of SHENNANIGAN
2+
# 1. IndentAccessModifiers: true causes useless indentation in structs, but
3+
# false makes access modifiers like public be on same line as member fields.
4+
# 2. Unintuitive setup for cases like `enum Color { red, green, blue };` via
5+
# config BasedOnStyle: WebKit instead of LLVM
6+
# 3. default ColumnLimit: 80 instead of more sane 100 or 120
7+
8+
# clang-format < 16
9+
# AlignTrailingComments: true/false
10+
# clang-format >= 16
11+
# AlignTrailingComments:
12+
# Kind: Always
13+
# OverEmptyLines: 0
14+
15+
# C and C++
16+
---
17+
AlignEscapedNewlines: Left
18+
AlignTrailingComments: true
19+
BasedOnStyle: LLVM
20+
BraceWrapping:
21+
AfterCaseLabel: false
22+
AfterClass: false
23+
AfterControlStatement: Never
24+
AfterFunction: false
25+
AfterEnum: false
26+
AfterNamespace: false
27+
AfterStruct: false
28+
AfterUnion: false
29+
AfterExternBlock: false
30+
BeforeCatch: false
31+
BeforeElse: false
32+
BeforeLambdaBody: false
33+
BreakBeforeBraces: Custom
34+
BreakBeforeInheritanceComma: true
35+
BreakConstructorInitializers: BeforeComma
36+
ColumnLimit: 120
37+
IndentAccessModifiers: false
38+
IndentCaseLabels: true
39+
IndentPPDirectives: None
40+
IndentRequiresClause: false
41+
IndentWidth: 2
42+
InsertNewlineAtEOF: true
43+
# clang clang-format 19
44+
# KeepEmptyLines:
45+
# AtEndOfFile: true
46+
LineEnding: LF
47+
NamespaceIndentation: None
48+
QualifierAlignment: Right
49+
ReflowComments: false
50+
RemoveSemicolon: true
51+
RequiresClausePosition: WithFollowing
52+
RequiresExpressionIndentation: OuterScope
53+
SpaceAfterTemplateKeyword: false
54+
TabWidth: 2
55+
UseTab: Never

.editorconfig

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,10 @@ charset = utf-8
55
end_of_line = lf
66
indent_size = 2
77
indent_style = space
8-
insert_final_newline = false
9-
trim_trailing_whitespace = true
10-
11-
[*.{c,h,lua}]
128
insert_final_newline = true
9+
trim_trailing_whitespace = true
1310

14-
[*.md]
11+
[*.{md,smd}]
1512
trim_trailing_whitespace = false
1613

1714
[*.{zig,zon}]

.github/workflows/gh-pages.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: github pages
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
jobs:
8+
deploy:
9+
timeout-minutes: 20
10+
runs-on: "ubuntu-latest"
11+
steps:
12+
- name: Checkout
13+
uses: actions/checkout@v4
14+
with:
15+
fetch-depth: 0 # Change if you need git info
16+
17+
- name: Setup Zig
18+
uses: mlugg/setup-zig@v1
19+
with:
20+
version: 0.13.0
21+
22+
- name: Build
23+
run: zig build --summary new
24+
25+
- name: Deploy
26+
uses: peaceiris/actions-gh-pages@v3
27+
if: github.ref == 'refs/heads/master'
28+
with:
29+
github_token: ${{ secrets.GITHUB_TOKEN }}
30+
publish_dir: ./zig-out

README.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
### Usage
2+
3+
../zig-linux-x86_64-0.13.0/zig build serve
4+
5+
### Markdown languages
6+
7+
- https://github.com/neurocyte/flow-syntax
8+
- src/file_types.zig
9+
10+
### SHENNANIGANS when working with zine
11+
12+
```
13+
[scripty] sections must be top level elements or be embedded in headings
14+
content/articles/shennanigans_in_c.smd:28:3:
15+
- []($section.id("pointer_semantics"))
16+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
17+
```
18+
So one has to workaround this via
19+
```
20+
<pre>
21+
<code class="c"
22+
:html="$page.asset('./articles/shennanigans_in_c/ex1.c').syntaxHighLight('c')"
23+
></code>
24+
</pre>
25+
```
26+
or including sections into the item.

assets/style.css

Lines changed: 76 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,82 @@ code {
101101
* std.debug.->print<-("test123\n", .{});
102102
* }
103103
**/
104-
code.zig {
105104

105+
code.bash {
106+
.comment { color: var(--gray); }
107+
/* .constant { color: light-dark(var(--lm_blue), var(--dm_blue)); font-weight: normal; } */
108+
}
109+
110+
code.c {
111+
.comment { color: var(--gray); }
112+
.constant.builtin { color: light-dark(var(--lm_blue), var(--dm_blue)); font-weight: normal; }
113+
.function.method { color: light-dark(var(--lm_blue), var(--dm_blue)); font-weight: normal; }
114+
.function { color: light-dark(var(--darkred), var(--brightred)); font-weight: bold; }
115+
.keyword { color: light-dark(var(--black), var(--white)); font-weight: bold; }
116+
.number { color: light-dark(var(--darkcyan), var(--lighttcyan)); }
117+
.operator { color: light-dark(var(--black), var(--white)); font-weight: bold; }
118+
.string { color: var(--red); }
119+
.type { color: light-dark(var(--lm_bluegray), var(--dm_bluegray)); font-weight: bold; }
120+
/* .variable */
121+
122+
/* .attribute { color: light-dark(var(--lm_bluegray), var(--dm_bluegray)); font-weight: bold; } */
123+
/* .boolean { color: light-dark(var(--darkcyan), var(--lighttcyan)); } */
124+
/* .function.builtin { color: light-dark(var(--lm_blue), var(--dm_blue)); font-weight: normal; } */
125+
/* .keyword.function { color: light-dark(var(--black), var(--white)); font-weight: bold; } */
126+
/* .null { color: light-dark(var(--darkcyan), var(--lighttcyan)); } */
127+
/* .qualifier { color: light-dark(var(--lm_bluegray), var(--dm_bluegray)); font-weight: bold; } */
128+
/* .undefined { color: light-dark(var(--darkcyan), var(--lighttcyan)); } */
129+
/* .bracket */
130+
/* .field */
131+
}
132+
133+
code.cpp {
134+
.comment { color: var(--gray); }
135+
.constant.builtin { color: light-dark(var(--lm_blue), var(--dm_blue)); font-weight: normal; }
136+
.function.method { color: light-dark(var(--lm_blue), var(--dm_blue)); font-weight: normal; }
137+
.function { color: light-dark(var(--darkred), var(--brightred)); font-weight: bold; }
138+
.keyword { color: light-dark(var(--black), var(--white)); font-weight: bold; }
139+
.number { color: light-dark(var(--darkcyan), var(--lighttcyan)); }
140+
.operator { color: light-dark(var(--black), var(--white)); font-weight: bold; }
141+
.string { color: var(--red); }
142+
.type { color: light-dark(var(--lm_bluegray), var(--dm_bluegray)); font-weight: bold; }
143+
/* .variable */
144+
145+
/* .attribute { color: light-dark(var(--lm_bluegray), var(--dm_bluegray)); font-weight: bold; } */
146+
/* .boolean { color: light-dark(var(--darkcyan), var(--lighttcyan)); } */
147+
/* .function.builtin { color: light-dark(var(--lm_blue), var(--dm_blue)); font-weight: normal; } */
148+
/* .keyword.function { color: light-dark(var(--black), var(--white)); font-weight: bold; } */
149+
/* .null { color: light-dark(var(--darkcyan), var(--lighttcyan)); } */
150+
/* .qualifier { color: light-dark(var(--lm_bluegray), var(--dm_bluegray)); font-weight: bold; } */
151+
/* .undefined { color: light-dark(var(--darkcyan), var(--lighttcyan)); } */
152+
/* .bracket */
153+
/* .field */
154+
}
155+
156+
code.python {
157+
.comment { color: var(--gray); }
158+
.constant.builtin { color: light-dark(var(--lm_blue), var(--dm_blue)); font-weight: normal; }
159+
.function.method { color: light-dark(var(--lm_blue), var(--dm_blue)); font-weight: normal; }
160+
.function { color: light-dark(var(--darkred), var(--brightred)); font-weight: bold; }
161+
.keyword { color: light-dark(var(--black), var(--white)); font-weight: bold; }
162+
.number { color: light-dark(var(--darkcyan), var(--lighttcyan)); }
163+
.operator { color: light-dark(var(--black), var(--white)); font-weight: bold; }
164+
.string { color: var(--red); }
165+
.type { color: light-dark(var(--lm_bluegray), var(--dm_bluegray)); font-weight: bold; }
166+
/* .variable */
167+
168+
/* .attribute { color: light-dark(var(--lm_bluegray), var(--dm_bluegray)); font-weight: bold; } */
169+
/* .boolean { color: light-dark(var(--darkcyan), var(--lighttcyan)); } */
170+
/* .function.builtin { color: light-dark(var(--lm_blue), var(--dm_blue)); font-weight: normal; } */
171+
/* .keyword.function { color: light-dark(var(--black), var(--white)); font-weight: bold; } */
172+
/* .null { color: light-dark(var(--darkcyan), var(--lighttcyan)); } */
173+
/* .qualifier { color: light-dark(var(--lm_bluegray), var(--dm_bluegray)); font-weight: bold; } */
174+
/* .undefined { color: light-dark(var(--darkcyan), var(--lighttcyan)); } */
175+
/* .bracket */
176+
/* .field */
177+
}
178+
179+
code.zig {
106180
.attribute { color: light-dark(var(--lm_bluegray), var(--dm_bluegray)); font-weight: bold; }
107181
.boolean { color: light-dark(var(--darkcyan), var(--lighttcyan)); }
108182
.comment { color: var(--gray); }
@@ -165,4 +239,4 @@ code.zig {
165239
/* @media screen and (max-width: var(--content_width)) { .home_page { display: block; } } */
166240
/* @media screen and (max-width: var(--content_width)) { .static_grid { display: block; } } */
167241
@media screen and (max-width: 1200px) { .home_page { display: block; } }
168-
@media screen and (max-width: 1200px) { .static_grid { display: block; } }
242+
@media screen and (max-width: 1200px) { .static_grid { display: block; } }

content/articles/ci_library.smd

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
.title = "CI Library",
2+
.title = "Towards an extensible continuous integration library.",
33
.description = "Personal Website",
44
.author = "Jan Philipp Hafer",
55
.date = @date("2024-11-10T00:00:00"),
@@ -8,4 +8,24 @@
88
.draft = false,
99
---
1010

11-
TODO
11+
This article describes
12+
13+
motivation for writing continuous integration as a library with main advantages being control, isolation and debuggability
14+
maintenance effort
15+
security tradeoffs
16+
obstacles on cross operating system remote debugging
17+
options to handle untrusted operating systems
18+
19+
for uniform execution representation and setup to efficiently mix and match the appropriate technique.
20+
21+
Motivation.
22+
Maintenance effort.
23+
Security tradeoffs.
24+
Cross operating system remote debugging.
25+
Untrusted operating systems.
26+
27+
Motivation.
28+
Maintenance effort.
29+
Security tradeoffs.
30+
Cross operating system remote debugging.
31+
Untrusted operating systems.

0 commit comments

Comments
 (0)