mirror of
https://github.com/kevinpapst/kimai2.git
synced 2025-03-17 06:22:38 +00:00
disable headings in markdown (#1843)
This commit is contained in:
parent
6bd2390acf
commit
6f8c0e3cb6
4 changed files with 41 additions and 10 deletions
|
@ -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
|
||||
|
||||
|
|
|
@ -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:///
|
||||
*/
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue