0
0
Fork 0
mirror of https://github.com/kevinpapst/kimai2.git synced 2025-03-17 06:22:38 +00:00

disable headings in markdown ()

This commit is contained in:
Kevin Papst 2020-07-26 21:06:33 +02:00 committed by GitHub
parent 6bd2390acf
commit 6f8c0e3cb6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 41 additions and 10 deletions

View file

@ -16,6 +16,7 @@ Perform EACH version specific task between your version and the new one, otherwi
- Sessions are now stored in the database (all users have to re-login after upgrade)
- New permissions: `lockdown_grace_timesheet`, `lockdown_override_timesheet`, `view_all_data`
- Fixed team permissions on user queries: depending on your previous team & permission setup your users might see less data (SUPER_ADMINS see all data, but new: ADMINS only see all data if they own the `view_all_data` permission)
- Markdown does not support headings any more, text like `# foo` is not converted to `<h1 id="foo">foo</h1>` anymore
### Developer

View file

@ -16,6 +16,36 @@ class ParsedownExtension extends \Parsedown
{
private $ids = [];
/**
* Overwritten to prevent # to show up as headings for two reasons:
* - Hashes are often used to cross link issues in other systems
* - Headings should not occur in time record listings
*/
protected $BlockTypes = [
'*' => ['Rule', 'List'],
'+' => ['List'],
'-' => ['SetextHeader', 'Table', 'Rule', 'List'],
'0' => ['List'],
'1' => ['List'],
'2' => ['List'],
'3' => ['List'],
'4' => ['List'],
'5' => ['List'],
'6' => ['List'],
'7' => ['List'],
'8' => ['List'],
'9' => ['List'],
':' => ['Table'],
'<' => ['Comment', 'Markup'],
'=' => ['SetextHeader'],
'>' => ['Quote'],
'[' => ['Reference'],
'_' => ['Rule'],
'`' => ['FencedCode'],
'|' => ['Table'],
'~' => ['FencedCode'],
];
/**
* Overwritten to add support for file:///
*/

View file

@ -38,7 +38,7 @@ class MarkdownExtensionTest extends TestCase
$config = new TimesheetConfiguration($loader, ['markdown_content' => true]);
$sut = new MarkdownExtension(new Markdown(), $config);
$this->assertEquals('<p><em>test</em></p>', $sut->markdownToHtml('*test*'));
$this->assertEquals('<h1 id="foobar">foobar</h1>', $sut->markdownToHtml('# foobar'));
$this->assertEquals('<p># foobar</p>', $sut->markdownToHtml('# foobar'));
}
public function testTimesheetContent()

View file

@ -22,21 +22,21 @@ class MarkdownTest extends TestCase
{
$sut = new Markdown();
$this->assertEquals('<p><em>test</em></p>', $sut->toHtml('*test*'));
$this->assertEquals('<h1 id="foobar">foobar</h1>', $sut->toHtml('# foobar'));
$this->assertEquals('<p># foobar</p>', $sut->toHtml('# foobar'));
$html = <<<'EOT'
<p>foo bar</p>
<ul>
<li>sdfasdfasdf</li>
<li>asdfasdfasdf</li>
</ul>
<h1 id="test">test</h1>
<p>asdfasdfa</p>
<p># test<br />
asdfasdfa</p>
<pre><code>ssdfsdf</code></pre>
<p><a href="http://example.com/foo-bar.html" target="_blank">http://example.com/foo-bar.html</a><br />
<a href="file:///home/kimai/images/beautiful-flower.png" target="_blank">file:///home/kimai/images/beautiful-flower.png</a></p>
<p>sdfsdf <a href="#test-1">asdfasdf</a> asdfasdf</p>
<h1 id="test-1">test</h1>
<p>aasdfasdf<br />
<p># test<br />
aasdfasdf<br />
1111<br />
222</p>
EOT;
@ -70,10 +70,10 @@ EOT;
$sut = new Markdown();
$html = <<<'EOT'
<h1 id="test">test</h1>
<h2 id="test-1">test</h2>
<h3 id="test-2">test</h3>
<h1 id="test-3">test</h1>
<p># test<br />
## test<br />
### test<br />
# test</p>
EOT;
$markdown = <<<EOT