blogview_markdown
This commit is contained in:
parent
c4aa27a708
commit
bb28fd3b6d
@ -208,7 +208,7 @@ html, body {
|
|||||||
color: #333;
|
color: #333;
|
||||||
border: 1px solid black;
|
border: 1px solid black;
|
||||||
background-color: #E0E0E0;
|
background-color: #E0E0E0;
|
||||||
width: 80%;
|
width: 90%;
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
margin-right: auto; }
|
margin-right: auto; }
|
||||||
|
|
||||||
@ -219,6 +219,41 @@ html, body {
|
|||||||
.bc_data {
|
.bc_data {
|
||||||
padding: 8px; }
|
padding: 8px; }
|
||||||
|
|
||||||
|
.bc_markdown code {
|
||||||
|
font-family: Consolas, Monaco, 'Andale Mono', monospace;
|
||||||
|
direction: ltr;
|
||||||
|
text-align: left;
|
||||||
|
white-space: pre;
|
||||||
|
word-spacing: normal;
|
||||||
|
word-break: normal;
|
||||||
|
-moz-tab-size: 4;
|
||||||
|
tab-size: 4;
|
||||||
|
-webkit-hyphens: none;
|
||||||
|
-moz-hyphens: none;
|
||||||
|
-ms-hyphens: none;
|
||||||
|
hyphens: none; }
|
||||||
|
|
||||||
|
.bc_markdown pre {
|
||||||
|
font-size: 14px;
|
||||||
|
display: block;
|
||||||
|
padding: 9.5px;
|
||||||
|
margin: 0 0 10px;
|
||||||
|
line-height: 20px;
|
||||||
|
word-break: break-all;
|
||||||
|
word-wrap: break-word;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
background-color: #F8F8F8;
|
||||||
|
color: black;
|
||||||
|
border: 1px solid rgba(0, 0, 0, 0.15);
|
||||||
|
-webkit-border-radius: 2px;
|
||||||
|
-moz-border-radius: 2px;
|
||||||
|
border-radius: 2px; }
|
||||||
|
|
||||||
|
.bc_markdown blockquote {
|
||||||
|
padding: 0 0 0 15px;
|
||||||
|
margin: 0 0 20px;
|
||||||
|
border-left: 5px solid #CCC; }
|
||||||
|
|
||||||
.euler_pnl_base {
|
.euler_pnl_base {
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
color: $COL_TEXT_DARK;
|
color: $COL_TEXT_DARK;
|
||||||
border: 1px solid black;
|
border: 1px solid black;
|
||||||
background-color: $COL_BACKGROUND_2;
|
background-color: $COL_BACKGROUND_2;
|
||||||
width: 80%;
|
width: 90%;
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
margin-right: auto;
|
margin-right: auto;
|
||||||
}
|
}
|
||||||
@ -17,3 +17,42 @@
|
|||||||
.bc_data {
|
.bc_data {
|
||||||
padding: 8px;
|
padding: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.bc_markdown code {
|
||||||
|
font-family: Consolas, Monaco, 'Andale Mono', monospace;
|
||||||
|
direction: ltr;
|
||||||
|
text-align: left;
|
||||||
|
white-space: pre;
|
||||||
|
word-spacing: normal;
|
||||||
|
word-break: normal;
|
||||||
|
-moz-tab-size: 4;
|
||||||
|
tab-size: 4;
|
||||||
|
-webkit-hyphens: none;
|
||||||
|
-moz-hyphens: none;
|
||||||
|
-ms-hyphens: none;
|
||||||
|
hyphens: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bc_markdown pre {
|
||||||
|
font-size: 14px;
|
||||||
|
display: block;
|
||||||
|
padding: 9.5px;
|
||||||
|
margin: 0 0 10px;
|
||||||
|
line-height: 20px;
|
||||||
|
word-break: break-all;
|
||||||
|
word-wrap: break-word;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
background-color: #F8F8F8;
|
||||||
|
color: black;
|
||||||
|
border: 1px solid rgba(0,0,0,.15);
|
||||||
|
-webkit-border-radius: 2px;
|
||||||
|
-moz-border-radius: 2px;
|
||||||
|
border-radius: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bc_markdown blockquote {
|
||||||
|
padding: 0 0 0 15px;
|
||||||
|
margin: 0 0 20px;
|
||||||
|
border-left: 5px solid #CCC;
|
||||||
|
}
|
||||||
|
|
||||||
|
1548
www/extern/Parsedown.php
vendored
Normal file
1548
www/extern/Parsedown.php
vendored
Normal file
File diff suppressed because it is too large
Load Diff
20
www/fragments/blogview_markdown.php
Normal file
20
www/fragments/blogview_markdown.php
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
require_once (__DIR__ . '/../internals/base.php');
|
||||||
|
require_once (__DIR__ . '/../internals/blog.php');
|
||||||
|
require_once (__DIR__ . '/../extern/Parsedown.php');
|
||||||
|
?>
|
||||||
|
|
||||||
|
<div class="blogcontent bc_markdown">
|
||||||
|
|
||||||
|
<div class="bc_header">
|
||||||
|
<?php echo $post['date']; ?>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="bc_data">
|
||||||
|
<?php
|
||||||
|
$pd = new Parsedown();
|
||||||
|
echo $pd->text(Blog::getPostFragment($post));
|
||||||
|
?>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
@ -19,3 +19,10 @@ function httpError($errorcode, $message)
|
|||||||
{
|
{
|
||||||
die($message);//TODO errorcode
|
die($message);//TODO errorcode
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function destructiveUrlEncode($str) {
|
||||||
|
$str = str_replace(' ', '_', $str);
|
||||||
|
$str = str_replace('+', '_', $str);
|
||||||
|
$str = str_replace('.', '', $str);
|
||||||
|
return urlencode($str);
|
||||||
|
}
|
@ -4,7 +4,7 @@ class Blog
|
|||||||
{
|
{
|
||||||
public static function listAll()
|
public static function listAll()
|
||||||
{
|
{
|
||||||
return
|
$all =
|
||||||
[
|
[
|
||||||
[ 'id' => 5, 'date' => '2009-04-08', 'visible' => true, 'title' => 'Beginning the log', 'fragment' => 'initial.md', 'type' => 'markdown', 'cat' => 'log' ],
|
[ 'id' => 5, 'date' => '2009-04-08', 'visible' => true, 'title' => 'Beginning the log', 'fragment' => 'initial.md', 'type' => 'markdown', 'cat' => 'log' ],
|
||||||
[ 'id' => 6, 'date' => '2009-05-01', 'visible' => false, 'title' => 'Mess with the best ...', 'fragment' => 'hack.md', 'type' => 'markdown', 'cat' => 'log' ],
|
[ 'id' => 6, 'date' => '2009-05-01', 'visible' => false, 'title' => 'Mess with the best ...', 'fragment' => 'hack.md', 'type' => 'markdown', 'cat' => 'log' ],
|
||||||
@ -27,9 +27,24 @@ class Blog
|
|||||||
[ 'id' => 20, 'date' => '2015-01-09', 'visible' => true, 'title' => 'More Befunge with Project Euler', 'fragment' => 'more_euler.md', 'type' => 'markdown', 'cat' => 'log' ],
|
[ 'id' => 20, 'date' => '2015-01-09', 'visible' => true, 'title' => 'More Befunge with Project Euler', 'fragment' => 'more_euler.md', 'type' => 'markdown', 'cat' => 'log' ],
|
||||||
[ 'id' => 9, 'date' => '2016-10-22', 'visible' => true, 'title' => 'A complete sudoku solver in Befunge-93', 'fragment' => 'sudoku_befunge.md', 'type' => 'markdown', 'cat' => 'blog' ],
|
[ 'id' => 9, 'date' => '2016-10-22', 'visible' => true, 'title' => 'A complete sudoku solver in Befunge-93', 'fragment' => 'sudoku_befunge.md', 'type' => 'markdown', 'cat' => 'blog' ],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
return array_map('self::completeSingle', $all);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function listAllOrderedDescending() {
|
private static function completeSingle($d)
|
||||||
|
{
|
||||||
|
if ($d['cat']==='blog')
|
||||||
|
$d['url'] = "/blog/" . $d['id'] . "/" . destructiveUrlEncode($d['title']);
|
||||||
|
else if ($d['cat']==='log')
|
||||||
|
$d['url'] = "/log/" . $d['id'] . "/" . destructiveUrlEncode($d['title']);
|
||||||
|
|
||||||
|
$d['canonical'] = "https://www.mikescher.com" . $d['url'];
|
||||||
|
|
||||||
|
return $d;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function listAllOrderedDescending()
|
||||||
|
{
|
||||||
$data = self::listAll();
|
$data = self::listAll();
|
||||||
usort($data, function($a, $b) { return strcasecmp($b['date'], $a['date']); });
|
usort($data, function($a, $b) { return strcasecmp($b['date'], $a['date']); });
|
||||||
return $data;
|
return $data;
|
||||||
|
@ -32,8 +32,8 @@ $allposts = Blog::listAllOrderedDescending();
|
|||||||
{
|
{
|
||||||
if (!$post['visible']) continue;
|
if (!$post['visible']) continue;
|
||||||
|
|
||||||
if ($post['cat']=='blog') echo "<a class='bloglistelem ble_blog' href='/blog/" . $post['id'] . "/" . urlencode($post['title']) . "'>";
|
if ($post['cat']=='blog') echo "<a class='bloglistelem ble_blog' href='" . $post['url'] . "'>";
|
||||||
else if ($post['cat']=='log') echo "<a class='bloglistelem ble_log' href='/log/" . $post['id'] . "'>";
|
else if ($post['cat']=='log') echo "<a class='bloglistelem ble_log' href='" . $post['url'] . "'>";
|
||||||
echo "<div class='ble_date'>" . $post['date'] . "</div>";
|
echo "<div class='ble_date'>" . $post['date'] . "</div>";
|
||||||
echo "<div class='ble_title'>" . $post['title'] . "</div>";
|
echo "<div class='ble_title'>" . $post['title'] . "</div>";
|
||||||
echo "</a>";
|
echo "</a>";
|
||||||
|
@ -19,6 +19,7 @@ if ($post === NULL) httpError(404, 'blogpost not found');
|
|||||||
<meta name="google-site-verification" content="pZOhmjeJcQbRMNa8xRLam4dwJ2oYwMwISY1lRKreSSs"/>
|
<meta name="google-site-verification" content="pZOhmjeJcQbRMNa8xRLam4dwJ2oYwMwISY1lRKreSSs"/>
|
||||||
<link rel="icon" type="image/png" href="/data/images/favicon.png"/>
|
<link rel="icon" type="image/png" href="/data/images/favicon.png"/>
|
||||||
<link rel="stylesheet" href="/data/css/styles.css"/>
|
<link rel="stylesheet" href="/data/css/styles.css"/>
|
||||||
|
<link rel="canonical" href="<?php echo $post['canonical']; ?>"/>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="mastercontainer">
|
<div id="mastercontainer">
|
||||||
|
@ -1,6 +1,3 @@
|
|||||||
Let's do Befunge-93
|
|
||||||
=====================
|
|
||||||
|
|
||||||
Hello, this is my try to teach *you* a little bit of Befunge-93.
|
Hello, this is my try to teach *you* a little bit of Befunge-93.
|
||||||
|
|
||||||
Preamble
|
Preamble
|
||||||
|
@ -1,6 +1,3 @@
|
|||||||
My BFJoust bot
|
|
||||||
---------------------
|
|
||||||
|
|
||||||
[Brainfuck Joust](http://esolangs.org/wiki/BF_Joust) is a tournament for Bots written in [brainfuck](http://esolangs.org/wiki/Brainfuck) *(or at least in a brainfuck-like language)*.
|
[Brainfuck Joust](http://esolangs.org/wiki/BF_Joust) is a tournament for Bots written in [brainfuck](http://esolangs.org/wiki/Brainfuck) *(or at least in a brainfuck-like language)*.
|
||||||
|
|
||||||
The board consist of 10 to 30 fields, one player starts left and one player right. The value of every field goes from `-127` to `128` and then wraps around, every field has a value of zero, except the two starting fields (the "flags"), they have a value of `128`.
|
The board consist of 10 to 30 fields, one player starts left and one player right. The value of every field goes from `-127` to `128` and then wraps around, every field has a value of zero, except the two starting fields (the "flags"), they have a value of `128`.
|
||||||
|
@ -1,6 +1,3 @@
|
|||||||
.Net format specifier Cheat Sheet
|
|
||||||
============================
|
|
||||||
|
|
||||||
Here my (growing) collection of C# format specifier, this is not a complete list but rather a collection of specifier I needed in the past:
|
Here my (growing) collection of C# format specifier, this is not a complete list but rather a collection of specifier I needed in the past:
|
||||||
|
|
||||||
###Short syntax summary
|
###Short syntax summary
|
||||||
|
@ -1,6 +1,3 @@
|
|||||||
Rapla Enhancement Script
|
|
||||||
=====================
|
|
||||||
|
|
||||||
![rapla_logo](/data/blog/Rapscript/logo.png)
|
![rapla_logo](/data/blog/Rapscript/logo.png)
|
||||||
|
|
||||||
I don't think many of you know [rapla](https://code.google.com/p/rapla/). And you should probably be thankful about that. But if you happen to study at the DHBW-KA, or any other place that uses rapla you could be interested in my enhancement-script.
|
I don't think many of you know [rapla](https://code.google.com/p/rapla/). And you should probably be thankful about that. But if you happen to study at the DHBW-KA, or any other place that uses rapla you could be interested in my enhancement-script.
|
||||||
|
@ -1,6 +1,3 @@
|
|||||||
A sudoku solver in Befunge-93
|
|
||||||
=======================
|
|
||||||
|
|
||||||
![sudoku debug](/data/blog/SudokuSolver/sudoku.png)
|
![sudoku debug](/data/blog/SudokuSolver/sudoku.png)
|
||||||
|
|
||||||
Because of [this project euler puzzle](https://www.mikescher.com/blog/1/Project_Euler_with_Befunge/problem-096) I spend the last few days implementing a sudoku solver in befunge-93 (as always I ignored the 80x25 size restriction because otherwise befunge-93 would be not turing-complete and I'm pretty sure this problem impossible).
|
Because of [this project euler puzzle](https://www.mikescher.com/blog/1/Project_Euler_with_Befunge/problem-096) I spend the last few days implementing a sudoku solver in befunge-93 (as always I ignored the 80x25 size restriction because otherwise befunge-93 would be not turing-complete and I'm pretty sure this problem impossible).
|
||||||
|
Loading…
Reference in New Issue
Block a user