** "Sieht aus wie JavaScript, Gehirn (Inhalt) ist Ruby, (Stabilität ist AC / DC)" ** Skriptsprache Kinx ). Diesmal sind die neuesten Informationen zur Einstellung des kleinen Typs. Dies ist eine Fortsetzung von ** this **.
Cocontokoro, ich habe so viel gemacht. Ja. Jetzt, da ich tun kann, was ich zuerst tun wollte, werde ich es veröffentlichen.
Es heißt KiTTy und kann daher (zu diesem Zeitpunkt) als einzelne Funktion und nicht als Bibliothek verwendet werden. Wir haben auch die Befehle kxkitty.exe
(Windows) und kxkitty
(Linux) ausgeführt.
Zur Zeit habe ich mit Essa Hoisa ein Handbuch erstellt. Das Handbuch selbst ist in KiTTy geschrieben (es war schwierig, sowohl Japanisch als auch Englisch zu lernen ...). Hier sind sowohl Japanisch als auch Englisch aufgeführt. Ich bin nicht sehr zuversichtlich, weil ich es vorgezogen habe, Englisch grob zu beenden.
Dies ist die Originaldatei.
KiTTy-Verarbeitung ergibt: Ich bin mir nicht sicher, aber ich werde auch die englische Version veröffentlichen.
Wie wäre es mit?
Übrigens ist die Verarbeitungsgeschwindigkeit bisher langsam, aber ich persönlich kann es ertragen (ich denke, es ist ein Gefallen, weil ich ein Kind bin). Ich habe einige Verbesserungsvorschläge, die die Ausführungsgeschwindigkeit verbessern könnten, aber ich habe keine Zeit mehr, so dass es eine Weile so bleiben wird. Ich möchte mich im Voraus entschuldigen, damit ich Ihnen vergeben kann. Es tut mir Leid.
Wie im Handbuch erwähnt, unterstützt KiTTy die folgenden Funktionen als Formatierungsfunktion. Kerning wird derzeit nicht unterstützt. Ich wäre Ihnen dankbar, wenn Sie das Handbuch für Details lesen könnten.
Einige japanische Formatierungsfunktionen werden ebenfalls unterstützt. Rubi schwingt auch. Vertikales Schreiben wird nicht unterstützt.
Es ist ein technischer Blog, daher gebe ich Ihnen einige technische Informationen.
Knuth-Plass Line Breaking Algorithm
Der in LaTeX verwendete Zeilenaufteilungsalgorithmus. Fügen Sie nach der Silbentrennung Kleber und Strafe in einzelne Box-Einheiten ein und steuern Sie, um an der Position zu brechen, an der die Strafe minimiert wird.
Für technische Details kann Folgendes auf Japanisch hilfreich sein.
Darüber hinaus wurde die Implementierung verwendet, indem Folgendes geändert wurde (BSD-2-Klausel-Lizenz). ** Es sieht aus wie JavaScript **.
Wenn Sie LaTeX anstreben (aber nicht), benötigen Sie eine Formel. Da es in JavaScript KaTeX und MathJax gibt, dachte ich, ich würde auch hier die Funktionen von JavaScript nutzen , aber die Details (Schriftarten und CSS sind erforderlich) sind zu unterschiedlich ** Ich kann nicht. war. Also habe ich es hier mit ** Duktape + KaTeX ** implementiert. ** Aber es stolperte über das Rendern ** und wurde schließlich basierend auf ** Phantomjs ** abgebildet. Ich frage mich, ob Duktape notwendig war, aber da Duktape möglicherweise an anderer Stelle verwendet wird, habe ich beschlossen, so zu bleiben, wie es ist (ich hatte nicht viel Zeit, um das Problem zu beheben).
An diesem Punkt sagen einige Leute, dass ** Phantomjs subtil ist **, aber es funktioniert, also ist es okay. Ich denke, es ist in Ordnung, es in der Bibliothek zu schließen, da es mit einem einzigen Befehl ohne Verwendung von node.js oder Chrome ausgeführt werden kann, aber es gibt Informationen, die "Ja (es fühlt sich an, als würde man mit nur einem einzigen Befehl schließen)" auf andere Weise. Bitte haben Sie es.
Chart.js
** Mit Phantomjs eingebaut ** habe ich zuerst versucht, verschiedene Dinge zu tun und es hat funktioniert. Ich finde es sehr praktisch, das Dokument frei zu zeichnen. Oder besser gesagt, es ist bequem.
Übrigens habe ich versucht, Mermaid.js mühelos zu integrieren und bin gescheitert (ich hoffe, ich kann UML schreiben). Ich kann es bald wieder versuchen.
Es scheint verschiedene andere Dinge zu geben, die ich vorstellen kann, aber aus zeitlichen Gründen ist dies alles für heute.
Die Installationsmethode ist ebenfalls im Handbuch beschrieben, ich werde sie jedoch vorstellen. Das Original ist Markdown, sieht also wie eine Basiskopie aus (obwohl einige Änderungen erforderlich sind).
Die Installation umfasst zwei Schritte:
Das Kinx-Kernmodul hat übrigens eine Größe von ca. 8,5 bis 9 Millionen, das zusätzliche KiTTy-Modul eine Größe von ca. 74 Millionen (einschließlich Schriftarten). Sie können es unter Assets unter ** hier (Release-Seite) ** anzeigen. Das Erstellen eines Paketmanagers ist schwierig, daher habe ich nach einer Möglichkeit gesucht, alles aus dem Kern herauszuhalten. Ich möchte in Zukunft ein Paketmanager-Äquivalent vorbereiten, aber vorerst diese Methode.
Linux
Laden Sie das Modul unter Linux wie folgt herunter:
v0.15.2
ist die offiziell hinzugefügte Version der KiTTy-Bibliothek.
Bitte schreiben Sie neu, wenn Sie die neueste Version verwenden.
Erstellen Sie ein Arbeitsverzeichnis und verschieben Sie es.
$ mkdir temp
$ cd temp
Laden Sie zuerst das Kinx-Modul herunter und entpacken Sie es Laden Sie dann das KiTTy-Paket herunter und entpacken Sie es.
$ curl -L \
https://github.com/Kray-G/kinx/releases/download/v0.15.2/package_linux-amd64.tar.gz \
--output package_linux-amd64.tar.gz
$ tar -xvf package_linux-amd64.tar.gz
$ curl -L \
https://github.com/Kray-G/kinx/releases/download/v0.15.2/package_kitty.zip \
--output package_kitty.zip
$ unzip package_kitty.zip
Wenn Sie es entpacken, wird ein Ordner mit der Versionsnummer erstellt.
Führen Sie den Befehl install.sh
aus.
$ cd v0.15.2
$ sudo ./install.sh
Damit ist die Installation abgeschlossen. Lassen Sie uns die Position der Ausführungsfüllung [^ exe] überprüfen.
$ which kxkitty
/usr/bin/kxkitty
[^ exe]: Das Handbuch sucht nach der Position von kinx
. Sollte hier sein. Ich werde es bald beheben.
Windows
Laden Sie unter Windows die neuesten Pakete (2 unten) von der Release-Seite (https://github.com/Kray-G/kinx/releases) herunter.
Extrahieren Sie jedes und kopieren Sie den Inhalt von package_kitty.zip
in den lib-Ordner [^ winbuild].
Stellen Sie zu diesem Zeitpunkt sicher, dass die Ordner für Schriftarten und Phantomjs unter lib abgelegt sind. Die Dateistruktur in der komprimierten Datei ist möglicherweise nicht immer der Fall.
[^ winbuild]: Wir haben derzeit kein Installationsprogramm, aber wir planen, in Zukunft ein Windows-Installationsprogramm zu haben.
Normalerweise müssen Sie dies nicht vom Build aus tun. Ein bereits erstelltes Ausführungsmodul wird bereitgestellt, und Sie können dieses System verwenden, indem Sie es gemäß dem Verfahren installieren. Wenn Sie es wagen, vom Build aus auszuführen, können Sie den Build wie folgt ausführen.
Linux
Klone von Github und mache.
$ git clone https://github.com/Kray-G/kinx.git
$ cd kinx
$ make
Es installieren.
$ git clone https://github.com/Kray-G/kinx.git
$ cd kinx
$ sudo make install
$ sudo make kitty-install
Windows
Klone von Github und mache.
$ git clone https://github.com/Kray-G/kinx.git
$ cd kinx
$ make.cmd
Insbesondere haben wir derzeit keinen Befehl zur Installation, Es kann in der gebauten Umgebung verwendet werden. Bitte verwenden Sie es in der gebauten Umgebung.
hello, world
Erstellen Sie das folgende Dokument und speichern Sie es als helloworld.md
-Datei.
% Hello Kinx Tiny Typesetting
% Your name
% October 7, 2020
<param style="ArticleA4"/>
# Greeting
hello, world
Führen Sie den Befehl kxkitty
wie unten gezeigt aus, um helloworld.pdf
zu erstellen.
$ kxkitty helloworld.md
Derzeit ist es notwendig, über eine Probe zu beschreiben, Wir planen, es zu verbessern, damit wir ein etwas einfacheres Beispiel präsentieren können.
Wenn Sie denken "OK, nicht wahr?", Würde ich mich freuen, wenn Sie mir einen GitHub-Stern geben könnten (obwohl ich immer das Gleiche sage). Wir möchten uns auch bei allen bedanken, die uns bisher unterstützt haben **. Das Update war etwas spät, aber ich würde gerne nach und nach fortfahren. Ich wäre Ihnen sehr dankbar, wenn Sie ein Problem oder eine Pull-Anfrage auf GitHub stellen könnten.
Vielen Dank für Ihre weitere Unterstützung.