add hack-a-round for language specified markdown code blocks
When language is specified in a markdown code block such as:
````
```c
printf("Hello, world!\n");
```
````
is used, the resulting HTML as produced by `pandoc(1)` combined
with our revised `ioccc.css` is not intent the code block well.
A temporary "_hack-a-round_" is to turn the "markdown code language
specifier" into an HTML comment. For example:
````
```<!---c-->
printf("Hello, world!\n");
```
````
This commits turns off existing markdown code language specifiers
for now, while preserving our ability to restore them in the future
when a better "_hack-a-round_" to the "markdown code language
specifier" problem is found.
The HTML impact if this "_hack-a-round_" is to produce HTML that
looks like this:
```
<pre class="<!---c-->"><code> .. </code></pre>
```
We might be able to create a complex set of classes for each markdown
code language (there won't be very many) in `ioccc.css`, or we might
find a more general CSS (or maybe `pandoc(1)`?) solution.
For now, this hack-a-round will have to do.
This commit is contained in:
1 parent
3919df50fb
commit
b66c79254a
700 files changed
+7052
-7056
No files matched your search
+10
-10
@@ -1,6 +1,6 @@
|
||||
## To build:
|
||||
|
||||
```sh
|
||||
```<!---sh-->
|
||||
make
|
||||
```
|
||||
|
||||
@@ -12,7 +12,7 @@ theoretically work with Windows which distinguishes binary and text. See
|
||||
|
||||
## To use:
|
||||
|
||||
```sh
|
||||
```<!---sh-->
|
||||
./nyaruko [seed.txt] < original.bin > output.c
|
||||
bash output.c > key.c
|
||||
perl output.c > data.c
|
||||
@@ -30,7 +30,7 @@ binary itself.
|
||||
|
||||
## Try:
|
||||
|
||||
```sh
|
||||
```<!---sh-->
|
||||
./try.sh
|
||||
```
|
||||
|
||||
@@ -53,13 +53,13 @@ binary mode on `stdin` and `stdout`.
|
||||
For the first version:
|
||||
|
||||
|
||||
```sh
|
||||
```<!---sh-->
|
||||
make alt
|
||||
```
|
||||
|
||||
For the second version:
|
||||
|
||||
```sh
|
||||
```<!---sh-->
|
||||
make alt2
|
||||
```
|
||||
|
||||
@@ -73,7 +73,7 @@ Use `nyaruko.alt` or `nyaruko.alt2` as you would `nyaruko` above.
|
||||
|
||||
For the first alternate version:
|
||||
|
||||
```sh
|
||||
```<!---sh-->
|
||||
./try.alt.sh
|
||||
```
|
||||
|
||||
@@ -93,7 +93,7 @@ The judges have nothing to add that has not already been written about in the
|
||||
`Nyaruko` is a binary to text filter. Given some input on `stdin`,
|
||||
`Nyaruko` will produce C code that reproduces this input on `stdout`:
|
||||
|
||||
```sh
|
||||
```<!---sh-->
|
||||
./nyaruko < original.bin > output.c
|
||||
gcc output.c -o output
|
||||
./output > regenerated.bin
|
||||
@@ -102,7 +102,7 @@ The judges have nothing to add that has not already been written about in the
|
||||
Output is encrypted, but both key and data are included in the output.
|
||||
To separate the key from the data, run these commands:
|
||||
|
||||
```sh
|
||||
```<!---sh-->
|
||||
bash output.c > key.c
|
||||
perl output.c > data.c
|
||||
```
|
||||
@@ -114,7 +114,7 @@ why the code is formatted the way it is.
|
||||
To combine the key and data, concatenate them together in either
|
||||
order:
|
||||
|
||||
```sh
|
||||
```<!---sh-->
|
||||
cat key.c data.c > output.c
|
||||
cat data.c key.c > output.c
|
||||
```
|
||||
@@ -123,7 +123,7 @@ By default, `Nyaruko` generates a unique random key for every message,
|
||||
using `/dev/urandom` as the seed. If given an extra command line
|
||||
argument, `Nyaruko` will seed using that file instead of `/dev/urandom`:
|
||||
|
||||
```sh
|
||||
```<!---sh-->
|
||||
./nyaruko seed.txt < input.bin > output.c
|
||||
```
|
||||
|
||||
|
||||
+21
-21
@@ -141,25 +141,25 @@ Location: <a href="../../location.html#US">US</a> - <em>United States of America
|
||||
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
|
||||
<h2 id="to-build">To build:</h2>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span></span></code></pre></div>
|
||||
<pre class="<!---sh-->"><code> make</code></pre>
|
||||
<p>There is an alternate version that will read from the compiled file itself, in
|
||||
case you don’t have a <code>/dev/urandom</code> file. There is also a version that should
|
||||
theoretically work with Windows which distinguishes binary and text. See
|
||||
<a href="#alternate-code">alternate code</a> below.</p>
|
||||
<h2 id="to-use">To use:</h2>
|
||||
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./nyaruko</span> <span class="pp">[</span><span class="ss">seed.txt</span><span class="pp">]</span> <span class="op"><</span> original.bin <span class="op">></span> output.c</span>
|
||||
<span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a> <span class="fu">bash</span> output.c <span class="op">></span> key.c</span>
|
||||
<span id="cb2-3"><a href="#cb2-3" aria-hidden="true" tabindex="-1"></a> <span class="fu">perl</span> output.c <span class="op">></span> data.c</span>
|
||||
<span id="cb2-4"><a href="#cb2-4" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb2-5"><a href="#cb2-5" aria-hidden="true" tabindex="-1"></a> <span class="fu">cat</span> key.c data.c <span class="op">></span> output.c</span>
|
||||
<span id="cb2-6"><a href="#cb2-6" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb2-7"><a href="#cb2-7" aria-hidden="true" tabindex="-1"></a> <span class="fu">cc</span> output.c <span class="at">-o</span> output</span>
|
||||
<span id="cb2-8"><a href="#cb2-8" aria-hidden="true" tabindex="-1"></a> <span class="ex">./output</span> <span class="op">></span> regenerated.bin</span></code></pre></div>
|
||||
<pre class="<!---sh-->"><code> ./nyaruko [seed.txt] < original.bin > output.c
|
||||
bash output.c > key.c
|
||||
perl output.c > data.c
|
||||
|
||||
cat key.c data.c > output.c
|
||||
|
||||
cc output.c -o output
|
||||
./output > regenerated.bin</code></pre>
|
||||
<p>NOTE: if your OS does not have <code>/dev/urandom</code> then you should specify a seed
|
||||
file or use the <a href="#alternate-code">alternate version</a> which reads in the compiled
|
||||
binary itself.</p>
|
||||
<h2 id="try">Try:</h2>
|
||||
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./try.sh</span></span></code></pre></div>
|
||||
<pre class="<!---sh-->"><code> ./try.sh</code></pre>
|
||||
<p>The script <a href="try.sh">try.sh</a> will check if you have perl before trying to use the
|
||||
perl parts of the script.</p>
|
||||
<h2 id="alternate-code">Alternate code:</h2>
|
||||
@@ -171,14 +171,14 @@ is like the first except it also should theoretically work with Windows, setting
|
||||
binary mode on <code>stdin</code> and <code>stdout</code>.</p>
|
||||
<h3 id="alternate-build">Alternate build:</h3>
|
||||
<p>For the first version:</p>
|
||||
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span> alt</span></code></pre></div>
|
||||
<pre class="<!---sh-->"><code> make alt</code></pre>
|
||||
<p>For the second version:</p>
|
||||
<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span> alt2</span></code></pre></div>
|
||||
<pre class="<!---sh-->"><code> make alt2</code></pre>
|
||||
<h3 id="alternate-use">Alternate use:</h3>
|
||||
<p>Use <code>nyaruko.alt</code> or <code>nyaruko.alt2</code> as you would <code>nyaruko</code> above.</p>
|
||||
<h3 id="alternate-try">Alternate try:</h3>
|
||||
<p>For the first alternate version:</p>
|
||||
<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./try.alt.sh</span></span></code></pre></div>
|
||||
<pre class="<!---sh-->"><code> ./try.alt.sh</code></pre>
|
||||
<p>We have no way to test the second version, sorry (tm Canada :-) )!</p>
|
||||
<h2 id="judges-remarks">Judges’ remarks:</h2>
|
||||
<p>The judges have nothing to add that has not already been written about in the
|
||||
@@ -187,24 +187,24 @@ binary mode on <code>stdin</code> and <code>stdout</code>.</p>
|
||||
<h3 id="usage">Usage</h3>
|
||||
<p><code>Nyaruko</code> is a binary to text filter. Given some input on <code>stdin</code>,
|
||||
<code>Nyaruko</code> will produce C code that reproduces this input on <code>stdout</code>:</p>
|
||||
<div class="sourceCode" id="cb7"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./nyaruko</span> <span class="op"><</span> original.bin <span class="op">></span> output.c</span>
|
||||
<span id="cb7-2"><a href="#cb7-2" aria-hidden="true" tabindex="-1"></a> <span class="fu">gcc</span> output.c <span class="at">-o</span> output</span>
|
||||
<span id="cb7-3"><a href="#cb7-3" aria-hidden="true" tabindex="-1"></a> <span class="ex">./output</span> <span class="op">></span> regenerated.bin</span></code></pre></div>
|
||||
<pre class="<!---sh-->"><code> ./nyaruko < original.bin > output.c
|
||||
gcc output.c -o output
|
||||
./output > regenerated.bin</code></pre>
|
||||
<p>Output is encrypted, but both key and data are included in the output.
|
||||
To separate the key from the data, run these commands:</p>
|
||||
<div class="sourceCode" id="cb8"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">bash</span> output.c <span class="op">></span> key.c</span>
|
||||
<span id="cb8-2"><a href="#cb8-2" aria-hidden="true" tabindex="-1"></a> <span class="fu">perl</span> output.c <span class="op">></span> data.c</span></code></pre></div>
|
||||
<pre class="<!---sh-->"><code> bash output.c > key.c
|
||||
perl output.c > data.c</code></pre>
|
||||
<p>The key-less <code>data.c</code> still compiles, but produces a different message
|
||||
on <code>stdout</code> instead of the original input. This message is a hint to
|
||||
why the code is formatted the way it is.</p>
|
||||
<p>To combine the key and data, concatenate them together in either
|
||||
order:</p>
|
||||
<div class="sourceCode" id="cb9"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">cat</span> key.c data.c <span class="op">></span> output.c</span>
|
||||
<span id="cb9-2"><a href="#cb9-2" aria-hidden="true" tabindex="-1"></a> <span class="fu">cat</span> data.c key.c <span class="op">></span> output.c</span></code></pre></div>
|
||||
<pre class="<!---sh-->"><code> cat key.c data.c > output.c
|
||||
cat data.c key.c > output.c</code></pre>
|
||||
<p>By default, <code>Nyaruko</code> generates a unique random key for every message,
|
||||
using <code>/dev/urandom</code> as the seed. If given an extra command line
|
||||
argument, <code>Nyaruko</code> will seed using that file instead of <code>/dev/urandom</code>:</p>
|
||||
<div class="sourceCode" id="cb10"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb10-1"><a href="#cb10-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./nyaruko</span> seed.txt <span class="op"><</span> input.bin <span class="op">></span> output.c</span></code></pre></div>
|
||||
<pre class="<!---sh-->"><code> ./nyaruko seed.txt < input.bin > output.c</code></pre>
|
||||
<p>This makes the output key deterministic, allowing the same key to be shared
|
||||
across different files. On operating systems that do not have <code>/dev/urandom</code>,
|
||||
users should always specify this extra seed argument to avoid indeterministic
|
||||
|
||||
Reference in new issue
Block a user