Compare commits

...

6 Commits

5 changed files with 23 additions and 21 deletions

View File

@@ -1,3 +1,3 @@
source 'https://rubygems.org' source 'https://rubygems.org'
gem 'nokogiri', '~>1.12.5' gem 'nokogiri'

View File

@@ -1,9 +1,9 @@
GEM GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
mini_portile2 (2.6.1) mini_portile2 (2.8.0)
nokogiri (1.12.5) nokogiri (1.13.3)
mini_portile2 (~> 2.6.1) mini_portile2 (~> 2.8.0)
racc (~> 1.4) racc (~> 1.4)
racc (1.6.0) racc (1.6.0)
@@ -11,7 +11,7 @@ PLATFORMS
ruby ruby
DEPENDENCIES DEPENDENCIES
nokogiri (~> 1.12.5) nokogiri
BUNDLED WITH BUNDLED WITH
2.2.24 2.1.4

View File

@@ -2,8 +2,10 @@ require "open3"
require "nokogiri" require "nokogiri"
require "net/http" require "net/http"
require "json" require "json"
require "cgi"
def render_cached(cache, display, string, render_comment = nil) def render_cached(cache, display, string, render_comment = nil)
string = CGI.unescapeHTML string
cache.fetch(string) do |new| cache.fetch(string) do |new|
puts " Rendering #{render_comment || new}" puts " Rendering #{render_comment || new}"
res = Net::HTTP.post URI("http://localhost:8000/render"), res = Net::HTTP.post URI("http://localhost:8000/render"),
@@ -29,7 +31,7 @@ inline_cache, display_cache = {}, {}
files.each do |file| files.each do |file|
puts "Rendering file: #{file}" puts "Rendering file: #{file}"
document = Nokogiri::HTML.parse(File.open(file)) document = Nokogiri::HTML.parse(File.open(file))
document.search('//*[not(ancestor-or-self::code)]/text()').each do |t| document.search('//*[not(ancestor-or-self::code or ancestor-or-self::script)]/text()').each do |t|
t.replace(perform_katex_sub(inline_cache, display_cache, t.content)) t.replace(perform_katex_sub(inline_cache, display_cache, t.content))
end end
File.write(file, document.to_html(encoding: 'UTF-8')) File.write(file, document.to_html(encoding: 'UTF-8'))

20
flake.lock generated
View File

@@ -36,11 +36,11 @@
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1648434477, "lastModified": 1666145384,
"narHash": "sha256-0WLqHSmsbuk+ZJ1C8WvTAwr8kb138PDhQZ8/K/1dMBU=", "narHash": "sha256-kpHv3EawXzyR1mRX4joIqqZDYz//xyUMtGMsmJk3YuE=",
"ref": "master", "ref": "master",
"rev": "796efcea28f7e2bd9858d9d1b86e2bd8158825b8", "rev": "cce6cf6a9458537ff1cb08dd8dad4f8460060f76",
"revCount": 5, "revCount": 7,
"type": "git", "type": "git",
"url": "https://dev.danilafe.com/Nix-Configs/katex-server" "url": "https://dev.danilafe.com/Nix-Configs/katex-server"
}, },
@@ -51,11 +51,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1648425779, "lastModified": 1648444094,
"narHash": "sha256-0tcpEiiq3f3Hh77ax7QFuF15AnPaBIdDSbvrCUeyb9k=", "narHash": "sha256-2liapKh7WXPHELuzLvYK+464g4w9tr9DbNxGuz8XZ98=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "1edfe6d91bd8348cfccacd72e82d1d06ad470117", "rev": "87c74b8120980461a9d4ce8f341551ce0fb50728",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -66,11 +66,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1648425779, "lastModified": 1648444094,
"narHash": "sha256-0tcpEiiq3f3Hh77ax7QFuF15AnPaBIdDSbvrCUeyb9k=", "narHash": "sha256-2liapKh7WXPHELuzLvYK+464g4w9tr9DbNxGuz8XZ98=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "1edfe6d91bd8348cfccacd72e82d1d06ad470117", "rev": "87c74b8120980461a9d4ce8f341551ce0fb50728",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -4,10 +4,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1lvxm91hi0pabnkkg47wh1siv56s6slm2mdq1idfm86dyfidfprq"; sha256 = "0rapl1sfmfi3bfr68da4ca16yhc0pp93vjwkj7y3rdqrzy3b41hy";
type = "gem"; type = "gem";
}; };
version = "2.6.1"; version = "2.8.0";
}; };
nokogiri = { nokogiri = {
dependencies = ["mini_portile2" "racc"]; dependencies = ["mini_portile2" "racc"];
@@ -15,10 +15,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1v02g7k7cxiwdcahvlxrmizn3avj2q6nsjccgilq1idc89cr081b"; sha256 = "1p6b3q411h2mw4dsvhjrp1hh66hha5cm69fqg85vn2lizz71n6xz";
type = "gem"; type = "gem";
}; };
version = "1.12.5"; version = "1.13.3";
}; };
racc = { racc = {
groups = ["default"]; groups = ["default"];