Skip to content

Commit

Permalink
🧮 Birimler'e latex desteği ekle
Browse files Browse the repository at this point in the history
  • Loading branch information
KimlikDAO-bot committed Nov 27, 2023
1 parent 1a53db4 commit b4fb14d
Show file tree
Hide file tree
Showing 3 changed files with 446 additions and 4 deletions.
28 changes: 24 additions & 4 deletions util/birimler.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { existsSync, readFileSync } from "fs";
import { Parser } from "htmlparser2";
import { createRequire } from "module";
import { renderParagraph } from "./latex.js";

const require = createRequire(process.cwd() + "/");

Expand Down Expand Up @@ -80,6 +81,10 @@ const birimOku = (birimAdı, seçimler, anaNitelikler) => {
let deÄŸiÅŸtirDerinliÄŸi = 0;
/** @type {string} */
let sırada;
/** @type {boolean} */
let latexVar = false;
/** @type {number} */
let latexDerinliÄŸi = 0;

/** @const {!Object<string, string>} */
const değerler = Object.assign({}, seçimler);
Expand Down Expand Up @@ -213,9 +218,15 @@ const birimOku = (birimAdı, seçimler, anaNitelikler) => {
}
}

if ("data-latex" in nitelikler) {
latexVar = true;
latexDerinliÄŸi = derinlik;
delete nitelikler["data-latex"];
}

if ("data-phantom" in nitelikler) {
if (ad != "span" && ad != "g") {
console.error("Span veya g olmayan phantom!");
if (ad != "span" && ad != "g" && ad != "div") {
console.error("Span div, veya g olmayan phantom!");
process.exit(HataKodu.INCORRECT_PHANTOM);
}
phantom[derinlik] = true;
Expand All @@ -231,10 +242,14 @@ const birimOku = (birimAdı, seçimler, anaNitelikler) => {
ontext(metin) {
if (deÄŸiÅŸtirDerinliÄŸi <= 0) {
if (sırada) {
html += sırada;
html += latexDerinliÄŸi > 0
? renderParagraph(metin)
: sırada;
sırada = null;
} else
html += metin;
html += latexDerinliÄŸi > 0
? renderParagraph(metin)
: metin;
}
},

Expand All @@ -249,6 +264,8 @@ const birimOku = (birimAdı, seçimler, anaNitelikler) => {
sırada = null;
if (derinlik == deÄŸiÅŸtirDerinliÄŸi)
deÄŸiÅŸtirDerinliÄŸi = 0;
if (derinlik == latexDerinliÄŸi)
latexDerinliÄŸi = 0;
if (deÄŸiÅŸtirDerinliÄŸi == 0 && !phantom[derinlik] && !hayali)
html += `</${ad}>`;

Expand All @@ -269,6 +286,9 @@ const birimOku = (birimAdı, seçimler, anaNitelikler) => {
if (existsSync(seçimler.kök + birimAdı.slice(0, -4) + "css"))
cssler.push(birimAdı.slice(0, -4) + "css");
parser.end(readFileSync(seçimler.kök + birimAdı, "utf8"));
if (latexVar)
cssler.push("/lib/util/latex.css");

return {
html,
cssler
Expand Down
117 changes: 117 additions & 0 deletions util/latex.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
.lasup,
.lasub {
font-size: 75%;
margin: 0 0.05em;
vertical-align: baseline;
}

.lasup {
position: relative;
top: -0.55em;
}

.lasub {
position: relative;
bottom: -0.2em;
}

.lasupsub {
font-size: 75%;
margin: 0 0.05em;
vertical-align: middle;
display: inline-block;
position: relative;
bottom: 0.2em;
}

.lassup {
font-size: 100%;
vertical-align: top;
line-height: 0.9;
}

.lassub {
font-size: 100%;
vertical-align: baseline;
}

.law {
white-space: nowrap;
line-height: 1;
}

.laeq {
font-size: 118%;
transform: scale(1.45, 1);
display: inline-block;
position: relative;
top: 0.1em;
}

.lato {
display: inline-block;
transform: scale(1.2, 1);
}

.lain {
vertical-align: baseline;
font-size: 120%;
margin: 0 -0.1em;
}

.ladiv {
display: inline-block;
transform: scale(1, 1.4);
margin: 0 -0.15em;
}

.lamns {
margin: 0 -0.15em;
position: relative;
top: 0.05em;
font-size: 120%;
}

.laasx {
font-size: 150%;
position: relative;
top: 0.34em;
}

.lasl,
.lasr,
.lapl,
.lapr,
.laal,
.laar,
.lacl,
.lacr {
font-size: 118%;
position: relative;
top: 0.07em;
}

.lasl {
margin-right: -0.02em;
}

.lasr {
margin-left: -0.05em;
}

.lapl {
margin: 0 0.02em;
}

.lapr {
margin: 0 0.02em;
}

.laeqni {
display: inline-block;
}

.laeqn {
text-align: center;
margin: 1em auto;
}
Loading

0 comments on commit b4fb14d

Please sign in to comment.