Compare commits
2 commits
6982b31996
...
76c1a5fd04
Author | SHA1 | Date | |
---|---|---|---|
76c1a5fd04 | |||
7b77499012 |
9 changed files with 25 additions and 3 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -14,3 +14,4 @@ public/
|
||||||
**/*.egg-info
|
**/*.egg-info
|
||||||
build/
|
build/
|
||||||
dist/
|
dist/
|
||||||
|
**/node_modules
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
[build-system]
|
[build-system]
|
||||||
requires = ["setuptools>=61.0"]
|
requires = ["setuptools>=61.0","setuptools_scm[toml]>=6.2"]
|
||||||
build-backend = "setuptools.build_meta"
|
build-backend = "setuptools.build_meta"
|
||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "formatitko"
|
name = "formatitko"
|
||||||
version = "0.0.1"
|
#version = "0.0.1"
|
||||||
|
dynamic = ["version"]
|
||||||
authors = [
|
authors = [
|
||||||
{ name="Greenscreener ", email="gs@grsc.cz" },
|
{ name="Greenscreener ", email="gs@grsc.cz" },
|
||||||
{ name="Organizers of KSP", email="ksp-tech@ksp.mff.cuni.cz" }
|
{ name="Organizers of KSP", email="ksp-tech@ksp.mff.cuni.cz" }
|
||||||
|
@ -24,3 +25,11 @@ classifiers = [
|
||||||
|
|
||||||
[project.scripts]
|
[project.scripts]
|
||||||
formatitko = "formatitko.formatitko:main"
|
formatitko = "formatitko.formatitko:main"
|
||||||
|
|
||||||
|
[tool.setuptools_scm]
|
||||||
|
|
||||||
|
|
||||||
|
[tool.setuptools.packages.find]
|
||||||
|
where = ["src"]
|
||||||
|
exclude = ["src/formatitko/katex-server/node_modules"]
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,19 @@ class KatexClient:
|
||||||
self._temp_dir = tempfile.TemporaryDirectory(prefix='formatitko')
|
self._temp_dir = tempfile.TemporaryDirectory(prefix='formatitko')
|
||||||
self._socket_file = self._temp_dir.name + "/katex-socket"
|
self._socket_file = self._temp_dir.name + "/katex-socket"
|
||||||
|
|
||||||
self._server_process = subprocess.Popen(["node", os.path.dirname(os.path.realpath(__file__)) + "/katex-server/index.mjs", self._socket_file])
|
srcdir = os.path.dirname(os.path.realpath(__file__))
|
||||||
|
|
||||||
|
# Test if `node_modules` directory exists and if not, run `npm install`
|
||||||
|
if not os.path.isdir(srcdir + "/katex-server/node_modules"):
|
||||||
|
print("Installing node dependencies for the first time...")
|
||||||
|
try:
|
||||||
|
subprocess.run(["npm", "install"], cwd=srcdir+"/katex-server", check=True)
|
||||||
|
except subprocess.CalledProcessError as e:
|
||||||
|
if e.returncode == 127:
|
||||||
|
raise Exception("npm not found. Node.js is required to use KaTeX.")
|
||||||
|
else:
|
||||||
|
raise e
|
||||||
|
self._server_process = subprocess.Popen(["node", srcdir + "/katex-server/index.mjs", self._socket_file])
|
||||||
|
|
||||||
self._client = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
|
self._client = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue