1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
<!DOCTYPE html>
<html><head>
<meta charset="utf-8">
<title>wsdiff | Home</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="mobile-web-app-capable" content="yes">
<meta name="color-scheme" content="dark light">
<link rel="stylesheet" href="/style.css">
</head>
<body><nav>
<div class="internal">
<a href="/" title="Home">Home</a>
<a href="/blog/" title="Blog">Blog</a>
<a href="/projects/" title="Projects">Projects</a>
<a href="/about/" title="About">About</a>
</div>
<div class="search">
<div id="search"></div>
</div>
<div class="external">
<a href="https://git.jaseg.de/" title="cgit">cgit</a>
<a href="https://github.com/jaseg" title="Github">Github</a>
<a href="https://gitlab.com/neinseg" title="Gitlab">Gitlab</a>
<a href="https://chaos.social/@jaseg" title="Mastodon">Mastodon</a>
</span>
</nav>
<header>
<h1>wsdiff</h1>
<ul class="breadcrumbs">
<li><a href="/">jaseg.de</a></li>
<li><a href="/projects/">Projects</a></li><li><a href="/projects/wsdiff/">wsdiff</a></li>
</ul>
</header>
<main data-pagefind-body>
<div class="links">
<a href="https://git.jaseg.de/wsdiff.git">Sources</a>
<a href="https://github.com/jaseg/wsdiff/issues">Issues</a>
<a href="https://pypi.org/project/wsdiff">PyPI</a>
</div>
<div class="document">
<p>wsdiff is a python script that produces a diff of two files or directories as a single, self-contained HTML file. The
resulting diff works without Javascript and will automatically switch between inline and side-by-side formats depending
on available screen space.</p>
<div class="section" id="installation">
<h2>Installation</h2>
<pre class="code sh literal-block">
<span class="lineno"></span><span class="line">$<span class="w"> </span>pip<span class="w"> </span>install<span class="w"> </span>wsdiff
</span></pre>
</div>
<div class="section" id="usage">
<h2>Usage</h2>
<pre class="literal-block">
<span class="lineno"></span><span class="line">usage: wsdiff [-h] [-b] [-s SYNTAX_CSS] [-l LEXER] [-L] [-t PAGETITLE]</span>
<span class="lineno"></span><span class="line"> [-o OUTPUT] [--header] [--content]</span>
<span class="lineno"></span><span class="line"> [old] [new]</span>
<span class="lineno"></span><span class="line"></span>
<span class="lineno"></span><span class="line">Given two source files or directories this application creates an html page</span>
<span class="lineno"></span><span class="line">that highlights the differences between the two.</span>
<span class="lineno"></span><span class="line"></span>
<span class="lineno"></span><span class="line">positional arguments:</span>
<span class="lineno"></span><span class="line"> old source file or directory to compare ("before" file)</span>
<span class="lineno"></span><span class="line"> new source file or directory to compare ("after" file)</span>
<span class="lineno"></span><span class="line"></span>
<span class="lineno"></span><span class="line">options:</span>
<span class="lineno"></span><span class="line"> -h, --help show this help message and exit</span>
<span class="lineno"></span><span class="line"> -b, --open Open output file in a browser</span>
<span class="lineno"></span><span class="line"> -s SYNTAX_CSS, --syntax-css SYNTAX_CSS</span>
<span class="lineno"></span><span class="line"> Path to custom Pygments CSS file for code syntax</span>
<span class="lineno"></span><span class="line"> highlighting</span>
<span class="lineno"></span><span class="line"> -l LEXER, --lexer LEXER</span>
<span class="lineno"></span><span class="line"> Manually select pygments lexer (default: guess from</span>
<span class="lineno"></span><span class="line"> filename, use -L to list available lexers.)</span>
<span class="lineno"></span><span class="line"> -L, --list-lexers List available lexers for -l/--lexer</span>
<span class="lineno"></span><span class="line"> -t PAGETITLE, --pagetitle PAGETITLE</span>
<span class="lineno"></span><span class="line"> Override page title of output HTML file</span>
<span class="lineno"></span><span class="line"> -o OUTPUT, --output OUTPUT</span>
<span class="lineno"></span><span class="line"> Name of output file (default: stdout)</span>
<span class="lineno"></span><span class="line"> --header Only output HTML header with stylesheets and stuff,</span>
<span class="lineno"></span><span class="line"> and no diff</span>
<span class="lineno"></span><span class="line"> --content Only output HTML content, without header
</span></pre>
</div>
<div class="section" id="example-output">
<h2>Example Output</h2>
<img alt="latest.png" src="latest.png" />
</div>
</div>
</main><footer>
Copyright © 2023 Jan Sebastian Götte
/ <a href="/about/">About</a>
/ <a href="/imprint/">Imprint</a>
</footer>
<script src="/pagefind/pagefind-ui.js"></script>
<script>
if(navigator.getEnvironmentIntegrity!==undefined)document.querySelector('body').innerHTML=`<h1>Your browser
contains Google DRM</h1>"Web Environment Integrity" is a Google euphemism for a DRM that is designed to
prevent ad-blocking, and which Google has forced into their browsers against widespread public opposition.
In support of an open web, this website does not function with this DRM. Please install a browser such
as <a href="https://www.mozilla.org/en-US/firefox/new/">Firefox</a> that respects your freedom and supports
ad blockers.`;
window.addEventListener('DOMContentLoaded', (event) => {
new PagefindUI({element: "#search", showSubResults: true});
});
</script>
</body>
</html>
|