Initial commit: Klammertext source distribution

Curated source subset assembled by klammertext-dev's doc/make_dist.sh: the Klammermachine (mac), the Standard Klammer Set (sks), the commands (com), editor plugins and install guides (doc), a test subset (tst), and lib/bin placeholders. Builds with 'make -C com'.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-18 18:48:23 +02:00
commit 2ba7ceee7a
272 changed files with 27634 additions and 0 deletions

35
sks/kutil/kutil.h Normal file
View File

@@ -0,0 +1,35 @@
#pragma once
#include <string>
#include <vector>
#include "machine.h"
#include "file.h"
inline
std::vector<std::string> sks_basenames { // removed "book"
"kutil", "color", "document", "block", "font", "link", "section",
"list", "image", "table", "code", "target", "date" };
const std::string caption_delimiter = "__CAPTION__";
std::string read_file(std::string filename);
std::string klammertext_dir();
std::vector<std::string> old_sks_files_of_type(std::string extension);
std::vector<std::string> sks_files_of_type(std::string extension, std::vector<std::string> subset={});
std::string caption_marker(std::string name, std::string caption, std::string delimiter=" ");
std::string find_kt_file(std::string filename);
std::string process(Machine& M, std::string target, std::string source_text,
bool post_process=false, bool unescape_chars=false);
std::string process(Machine& M, std::string target, fs::path source_filename,
bool post_process=false, bool unescape_chars=false);
std::string process(Machine& M, std::string target,
std::string source_text, fs::path source_filename,
bool post_process, bool unescape_chars);