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