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
@@ -1,6 +1,6 @@
|
||||
## To build:
|
||||
|
||||
```sh
|
||||
```<!---sh-->
|
||||
make all
|
||||
```
|
||||
|
||||
@@ -18,7 +18,7 @@ if nothing else.
|
||||
|
||||
## To use:
|
||||
|
||||
```sh
|
||||
```<!---sh-->
|
||||
./marshall
|
||||
```
|
||||
|
||||
@@ -36,14 +36,14 @@ instead offer the problematic code as an alternate version whereas
|
||||
To see if your compiler has the problems noted:
|
||||
|
||||
|
||||
```sh
|
||||
```<!---sh-->
|
||||
make alt
|
||||
```
|
||||
|
||||
|
||||
### Alternate use:
|
||||
|
||||
```sh
|
||||
```<!---sh-->
|
||||
./marshall.alt
|
||||
```
|
||||
|
||||
|
||||
@@ -162,7 +162,7 @@ because of the call to <code>_exit()</code> (see below).</p>
|
||||
enable the optimiser clang will generate code that prints the string twice and
|
||||
dumps core just like before! What about the call to <code>_exit()</code>?</p>
|
||||
<p>The call was:</p>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode c"><code class="sourceCode c"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a> _exit<span class="op">(</span>argv<span class="op">[(</span><span class="dt">int</span><span class="op">)*</span>argc<span class="op">-</span><span class="dv">2</span><span class="op">/</span>cc<span class="op">[</span><span class="dv">1</span><span class="op">*(</span><span class="dt">int</span><span class="op">)*</span>argc<span class="op">]|-</span><span class="dv">1</span><span class="op"><<</span><span class="dv">4</span><span class="op">]);</span></span></code></pre></div>
|
||||
<pre class="<!---c-->"><code> _exit(argv[(int)*argc-2/cc[1*(int)*argc]|-1<<4]);</code></pre>
|
||||
<p>Changing it to not refer to these variables and just exit 1 and the problems
|
||||
disappear!</p>
|
||||
<h3 id="macos">macOS</h3>
|
||||
@@ -172,9 +172,9 @@ it works fine but if it’s disabled it prints out the string and then enters an
|
||||
infinite loop!</p>
|
||||
<p>After we fix the infinite loop if we change the <code>_exit()</code> call in macOS and
|
||||
disable the optimiser we might get something like:</p>
|
||||
<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">$</span> ./marshall</span>
|
||||
<span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a> <span class="ex">choo</span> choo</span>
|
||||
<span id="cb2-3"><a href="#cb2-3" aria-hidden="true" tabindex="-1"></a> <span class="ex">Segmentation</span> fault: 11</span></code></pre></div>
|
||||
<pre class="<!---sh-->"><code> $ ./marshall
|
||||
choo choo
|
||||
Segmentation fault: 11</code></pre>
|
||||
<p>Observe how it doesn’t print it twice. But of course it segfaults so it’s not
|
||||
right either.</p>
|
||||
<p>If the optimiser is enabled, however, we will see that it works fine before the
|
||||
|
||||
@@ -54,7 +54,7 @@ dumps core just like before! What about the call to `_exit()`?
|
||||
The call was:
|
||||
|
||||
|
||||
```c
|
||||
```<!---c-->
|
||||
_exit(argv[(int)*argc-2/cc[1*(int)*argc]|-1<<4]);
|
||||
```
|
||||
|
||||
@@ -72,7 +72,7 @@ infinite loop!
|
||||
After we fix the infinite loop if we change the `_exit()` call in macOS and
|
||||
disable the optimiser we might get something like:
|
||||
|
||||
```sh
|
||||
```<!---sh-->
|
||||
$ ./marshall
|
||||
choo choo
|
||||
Segmentation fault: 11
|
||||
|
||||
@@ -141,7 +141,7 @@ 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> all</span></code></pre></div>
|
||||
<pre class="<!---sh-->"><code> make all</code></pre>
|
||||
<p>NOTE: we FORCE disable the optimiser due to a funny problem with different
|
||||
compilers and systems. See below and <a href="compilers.html">compilers.html</a> for details.</p>
|
||||
<p>There is an <a href="#alternate-code">alternate version</a>. The reason is a funny problem:
|
||||
@@ -152,7 +152,7 @@ might work but the other one would not. We describe this in more detail in
|
||||
<a href="compilers.html">compilers.html</a> and we encourage you to read it for entertainment
|
||||
if nothing else.</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">./marshall</span></span></code></pre></div>
|
||||
<pre class="<!---sh-->"><code> ./marshall</code></pre>
|
||||
<h2 id="alternate-code">Alternate code:</h2>
|
||||
<p>Due to the different <a href="compilers.html">conflicting problems</a> with gcc and clang, we
|
||||
instead offer the problematic code as an alternate version whereas
|
||||
@@ -160,9 +160,9 @@ instead offer the problematic code as an alternate version whereas
|
||||
<code>_exit()</code> commented out, changing the value passed into <code>_exit()</code> to <code>1</code>.</p>
|
||||
<h3 id="alternate-build">Alternate build:</h3>
|
||||
<p>To see if your compiler has the problems noted:</p>
|
||||
<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="fu">make</span> alt</span></code></pre></div>
|
||||
<pre class="<!---sh-->"><code> make alt</code></pre>
|
||||
<h3 id="alternate-use">Alternate use:</h3>
|
||||
<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="ex">./marshall.alt</span></span></code></pre></div>
|
||||
<pre class="<!---sh-->"><code> ./marshall.alt</code></pre>
|
||||
<p>Does it work in your system? That is does it not segfault, does it print it only
|
||||
once and does it not enter an infinite loop? Or more generally does it print the
|
||||
text exactly once and then exit?</p>
|
||||
|
||||
Reference in new issue
Block a user