Init zine

This commit is contained in:
2025-08-05 00:34:58 +08:00
parent 477b3c9a79
commit c6fc0b093b
27 changed files with 1027 additions and 0 deletions

249
assets/Temml-Local.css Normal file
View File

@@ -0,0 +1,249 @@
/*
Temml.woff2 is a clone of KaTeX_Script-Regular, except that the code points
have been changed from ASCII to Unicode Mathematical Alphanumeric Symbols Script capitals,
Unicode range 1D49C to 1D4B5.
*/
@font-face {
font-family: 'Temml';
src: url('Temml.woff2') format('woff2');
font-weight: normal;
font-style: normal;
}
math {
font-family: "Cambria Math", 'STIXTwoMath-Regular', 'NotoSansMath-Regular', math;
font-style: normal;
font-weight: normal;
line-height: normal;
font-size-adjust: none;
text-indent: 0;
text-transform: none;
letter-spacing: normal;
word-wrap: normal;
direction: ltr;
/* Prevent Firefox from omitting the dot on i or j. */
font-feature-settings: "dtls" off;
}
math * {
border-color: currentColor;
}
/* Next line is active in Firefox and Safari.
* Not in Chromium, which recognizes display: "block math" written inline. */
math.tml-display { display: block; }
*.mathcal {
/* NotoSans */
font-feature-settings: 'ss01';
}
math .mathscr {
font-family: "Temml";
}
mo.tml-prime {
font-family: Temml;
}
/* Prevent f' from overlapping in Chromium */
mo.prime-pad {
padding-left: 0.08em;
}
/* \cancel & \phase use background images. Get them to print. */
menclose {
-webkit-print-color-adjust: exact; /* Chrome & Edge */
print-color-adjust: exact;
}
/* Array cell justification in Firefox & WebKit */
.tml-right {
text-align: right;
}
.tml-left {
text-align: left;
}
/* Styles for Chromium only */
@supports (not (-webkit-backdrop-filter: blur(1px))) and (not (-moz-appearance: none)) {
/* MathML Core & Chromium do not support the MathML 3.0 element <menclose> attributes. */
/* So use styles. */
menclose {
position: relative;
padding: 0.5ex 0ex;
}
.tml-overline {
padding: 0.1em 0 0 0;
border-top: 0.065em solid;
}
.tml-underline {
padding: 0 0 0.1em 0;
border-bottom: 0.065em solid;
}
.tml-cancel {
display: inline-block;
position: absolute;
left: 0.5px;
bottom: 0;
width: 100%;
height: 100%;
background-color: currentColor;
}
.upstrike {
clip-path: polygon(0.05em 100%, 0em calc(100% - 0.05em), calc(100% - 0.05em) 0em, 100% 0.05em);
}
.downstrike {
clip-path: polygon(0em 0.05em, 0.05em 0em, 100% calc(100% - 0.05em), calc(100% - 0.05em) 100%);
}
.sout {
clip-path: polygon(0em calc(55% + 0.0333em), 0em calc(55% - 0.0333em), 100% calc(55% - 0.0333em), 100% calc(55% + 0.0333em));
}
.tml-xcancel {
background: linear-gradient(to top left,
rgba(0,0,0,0) 0%,
rgba(0,0,0,0) calc(50% - 0.06em),
rgba(0,0,0,1) 50%,
rgba(0,0,0,0) calc(50% + 0.06em),
rgba(0,0,0,0) 100%),
linear-gradient(to top right,
rgba(0,0,0,0) 0%,
rgba(0,0,0,0) calc(50% - 0.06em),
rgba(0,0,0,1) 50%,
rgba(0,0,0,0) calc(50% + 0.06em),
rgba(0,0,0,0) 100%)
}
.longdiv-top {
border-top: 0.067em solid;
padding: 0.1em 0.2em 0.2em 0.433em;
}
.longdiv-arc {
position: absolute;
top: 0;
bottom: 0.1em;
left: -0.4em;
width: 0.7em;
border: 0.067em solid;
transform: translateY(-0.067em);
border-radius: 70%;
clip-path: inset(0 0 0 0.4em);
box-sizing: border-box;}
.menclose {display: inline-block;
text-align: left;
position: relative;
}
.phasor-bottom {
border-bottom: 0.067em solid;
padding: 0.2em 0.2em 0.1em 0.6em;
}
.phasor-angle {
display: inline-block;
position: absolute;
left: 0.5px;
bottom: -0.04em;
height: 100%;
aspect-ratio: 0.5;
background-color: currentColor;
clip-path: polygon(0.05em 100%, 0em calc(100% - 0.05em), calc(100% - 0.05em) 0em, 100% 0.05em);
}
.tml-box {
padding: 3pt 0 3pt 0;
border: 1px solid;
}
.tml-fbox {
padding: 3pt;
border: 1px solid;
}
.circle-pad {
padding: 0.267em;
}
.textcircle {
position: absolute;
top: 0;
bottom: 0;
right: 0;
left: 0;
border: 0.067em solid;
border-radius: 50%;
}
.actuarial {
padding: 0.03889em 0.03889em 0 0.03889em;
border-width: 0.08em 0.08em 0em 0em;
border-style: solid;
margin-right: 0.03889em;
}
/* Stretch \widetilde */
.tml-crooked-2 {
transform: scale(2.0, 1.1)
}
.tml-crooked-3 {
transform: scale(3.0, 1.3)
}
.tml-crooked-4 {
transform: scale(4.0, 1.4)
}
/* set array cell justification */
.tml-right {
text-align: -webkit-right;
}
.tml-left {
text-align: -webkit-left;
}
}
/* Adjust WebKit accents */
@supports (-webkit-backdrop-filter: blur(1px)) {
.tml-xshift { transform: translate(0px, 0.45em) }
.tml-capshift { transform: translate(0px, 0.35em) }
}
/* flex-wrap for line-breaking in Chromium */
math {
display: inline-flex;
flex-wrap: wrap;
align-items: baseline;
}
math > mrow {
padding: 0.5ex 0ex;
}
/* Default mtd top padding is 0.5ex per MathML-Core and user-agent CSS */
/* We adjust for jot and small */
mtable.tml-jot mtd {
padding-top: 0.7ex;
padding-bottom: 0.7ex;
}
mtable.tml-small mtd {
padding-top: 0.35ex;
padding-bottom: 0.35ex;
}
/* Firefox */
@-moz-document url-prefix() {
/* Avoid flex-wrap */
math { display: inline; }
math > mrow { padding: 0 }
/* Adjust Firefox spacing between array rows */
mtd, mtable.tml-small mtd { padding-top: 0; padding-bottom: 0; }
mtable.tml-jot mtd { padding-top: 0.2ex; padding-bottom: 0.ex; }
}
/* AMS environment auto-numbering via CSS counter. */
.tml-eqn::before {
counter-increment: tmlEqnNo;
content: "(" counter(tmlEqnNo) ")";
}
body {
counter-reset: tmlEqnNo;
}

BIN
assets/Temml.woff2 Normal file

Binary file not shown.

37
assets/highlight.css Normal file
View File

@@ -0,0 +1,37 @@
:root {
--light-yellow: #e5c07b;
--dark-yellow: #d19a66;
--blue: #61afef;
--cyan: #56b6c2;
--light-red: #e06c75;
--dark-red: #be5046;
--comment-gray: #5c6370;
--magenta: #c678dd;
}
pre {
border-top: 1px solid white;
border-bottom: 1px solid white;
padding: 10px 5px;
}
code.ziggy {
color: var(--cyan);
}
code.ziggy .keyword,
code.ziggy .type {
color: var(--light-yellow);
}
code.ziggy .string {
color: var(--dark-yellow);
}
code.ziggy .numeric.constant {
color: var(--magenta);
}
code.ziggy .function {
color: var(--blue);
}

8
assets/render-mathtex.js Normal file
View File

@@ -0,0 +1,8 @@
let eqns = document.querySelectorAll("script[type='math/tex']");
for (let i=eqns.length-1; i>=0; i--) {
let eqn = eqns[i];
let src = eqn.text;
let d = eqn.closest('p') == null;
eqn.outerHTML = temml.renderToString(src, { displayMode: d });
}

85
assets/style.css Normal file
View File

@@ -0,0 +1,85 @@
h1,
h2,
h3,
h4,
h5 {
color: #ddd;
font-family: "Verdana", sans-serif;
}
b,
strong {
color: #fff;
}
a {
color: #eee;
}
html {
color: #ccc;
font-family: "Georgia", serif;
font-size: 1.2em;
display: flex;
flex-direction: row;
justify-content: center;
background-color: #111;
}
body {
width: 800px;
padding: 15px;
display: flex;
flex-direction: column;
}
.site-title {
font-size: 2.5em;
margin-bottom: 10px;
/* text-align: center; */
}
nav {
display: flex;
flex-direction: row;
justify-content: left;
font-size: 1.2em;
margin-bottom: 20px;
}
.block {
border: 1px dotted white;
padding: 5px 15px;
margin: 0 10px;
text-align: center;
display: flex;
flex-direction: column;
justify-content: center;
}
.block h1 {
font-size: 1em;
text-align: center;
margin-bottom: 0;
}
.small {
font-size: 0.8em;
}
.wave {
background: #111;
color: #fff;
text-shadow: 1px 1px 10px #fff, 1px 1px 10px #ccc;
}
footer {
margin-top: 30px;
display: flex;
flex-direction: column;
align-items: center;
}
footer hr {
width: 100%;
}

1
assets/temml.min.js vendored Normal file

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB