Include documentation in the application

This commit is contained in:
Frederic Guillot 2015-08-29 20:00:53 -04:00
parent ef087f5e22
commit 6c711f696f
135 changed files with 285 additions and 38 deletions

View File

@ -3,6 +3,7 @@ Version 1.0.18 (unreleased)
New features:
* Include documentation in the application
* Add Gitlab authentication
* Add users and categories filters on the board
* Add hide/show columns

View File

@ -54,7 +54,6 @@ archive:
@ rm -rf ${BUILD_DIR}/kanboard/data/*
@ rm -rf ${BUILD_DIR}/kanboard/.git*
@ rm -rf ${BUILD_DIR}/kanboard/tests
@ rm -rf ${BUILD_DIR}/kanboard/docs
@ rm -rf ${BUILD_DIR}/kanboard/Makefile
@ rm -rf ${BUILD_DIR}/kanboard/Vagrantfile
@ rm -rf ${BUILD_DIR}/kanboard/Dockerfile

View File

@ -34,7 +34,7 @@ Authors
Documentation
-------------
- [Read the documentation](docs/index.markdown)
- [Read the documentation](doc/index.markdown)
Related projects
----------------

51
app/Controller/Doc.php Normal file
View File

@ -0,0 +1,51 @@
<?php
namespace Controller;
use Parsedown;
/**
* Documentation controller
*
* @package controller
* @author Frederic Guillot
*/
class Doc extends Base
{
private function readFile($filename)
{
$url = $this->helper->url;
$data = file_get_contents($filename);
list($title,, $content) = explode("\n", $data, 3);
$replaceUrl = function (array $matches) use ($url) {
return '('.$url->to('doc', 'show', array('file' => str_replace('.markdown', '', $matches[1]))).')';
};
$content = preg_replace_callback('/\((.*.markdown)\)/', $replaceUrl, $data);
return array(
'content' => Parsedown::instance()->text($content),
'title' => $title !== 'Documentation' ? t('Documentation: %s', $title) : $title,
);
}
public function show()
{
$filename = $this->request->getStringParam('file', 'index');
if (! preg_match('/^[a-z0-9\-]+/', $filename)) {
$filename = 'index';
}
$filename = __DIR__.'/../../doc/'.$filename.'.markdown';
if (! file_exists($filename)) {
$filename = __DIR__.'/../../doc/index.markdown';
}
$this->response->html($this->template->layout('doc/show', $this->readFile($filename) + array(
'board_selector' => $this->projectPermission->getAllowedProjects($this->userSession->getId()),
)));
}
}

View File

@ -16,6 +16,19 @@ class Url extends \Core\Base
private $base = '';
private $directory = '';
/**
* Helper to generate a link to the documentation
*
* @access public
* @param string $label
* @param string $file
* @return string
*/
public function doc($label, $file)
{
return $this->link($label, 'doc', 'show', array('file' => $file), false, '', '', true);
}
/**
* HTML Link tag
*

View File

@ -1060,4 +1060,11 @@ return array(
// 'Gitlab Account' => '',
// 'Link my Gitlab Account' => '',
// 'Unlink my Gitlab Account' => '',
// 'Documentation: %s' => '',
// 'Switch to the Gantt chart view' => '',
// 'Reset the search/filter box' => '',
// 'Documentation' => '',
// 'Table of contents' => '',
// 'Gantt' => '',
// 'Help with project permissions' => '',
);

View File

@ -1060,4 +1060,11 @@ return array(
// 'Gitlab Account' => '',
// 'Link my Gitlab Account' => '',
// 'Unlink my Gitlab Account' => '',
// 'Documentation: %s' => '',
// 'Switch to the Gantt chart view' => '',
// 'Reset the search/filter box' => '',
// 'Documentation' => '',
// 'Table of contents' => '',
// 'Gantt' => '',
// 'Help with project permissions' => '',
);

View File

@ -1060,4 +1060,11 @@ return array(
// 'Gitlab Account' => '',
// 'Link my Gitlab Account' => '',
// 'Unlink my Gitlab Account' => '',
// 'Documentation: %s' => '',
// 'Switch to the Gantt chart view' => '',
// 'Reset the search/filter box' => '',
// 'Documentation' => '',
// 'Table of contents' => '',
// 'Gantt' => '',
// 'Help with project permissions' => '',
);

View File

@ -1060,4 +1060,11 @@ return array(
// 'Gitlab Account' => '',
// 'Link my Gitlab Account' => '',
// 'Unlink my Gitlab Account' => '',
// 'Documentation: %s' => '',
// 'Switch to the Gantt chart view' => '',
// 'Reset the search/filter box' => '',
// 'Documentation' => '',
// 'Table of contents' => '',
// 'Gantt' => '',
// 'Help with project permissions' => '',
);

View File

@ -1060,4 +1060,11 @@ return array(
// 'Gitlab Account' => '',
// 'Link my Gitlab Account' => '',
// 'Unlink my Gitlab Account' => '',
// 'Documentation: %s' => '',
// 'Switch to the Gantt chart view' => '',
// 'Reset the search/filter box' => '',
// 'Documentation' => '',
// 'Table of contents' => '',
// 'Gantt' => '',
// 'Help with project permissions' => '',
);

View File

@ -1062,4 +1062,11 @@ return array(
'Gitlab Account' => 'Compte Gitlab',
'Link my Gitlab Account' => 'Lier mon compte Gitlab',
'Unlink my Gitlab Account' => 'Ne plus utiliser mon compte Gitlab',
'Documentation: %s' => 'Documentation : %s',
'Switch to the Gantt chart view' => 'Passer à la vue en diagramme de Gantt',
'Reset the search/filter box' => 'Réinitialiser le champ de recherche',
'Documentation' => 'Documentation',
'Table of contents' => 'Table des matières',
'Gantt' => 'Gantt',
'Help with project permissions' => 'Aide avec les permissions des projets',
);

View File

@ -1060,4 +1060,11 @@ return array(
// 'Gitlab Account' => '',
// 'Link my Gitlab Account' => '',
// 'Unlink my Gitlab Account' => '',
// 'Documentation: %s' => '',
// 'Switch to the Gantt chart view' => '',
// 'Reset the search/filter box' => '',
// 'Documentation' => '',
// 'Table of contents' => '',
// 'Gantt' => '',
// 'Help with project permissions' => '',
);

View File

@ -1060,4 +1060,11 @@ return array(
// 'Gitlab Account' => '',
// 'Link my Gitlab Account' => '',
// 'Unlink my Gitlab Account' => '',
// 'Documentation: %s' => '',
// 'Switch to the Gantt chart view' => '',
// 'Reset the search/filter box' => '',
// 'Documentation' => '',
// 'Table of contents' => '',
// 'Gantt' => '',
// 'Help with project permissions' => '',
);

View File

@ -1060,4 +1060,11 @@ return array(
// 'Gitlab Account' => '',
// 'Link my Gitlab Account' => '',
// 'Unlink my Gitlab Account' => '',
// 'Documentation: %s' => '',
// 'Switch to the Gantt chart view' => '',
// 'Reset the search/filter box' => '',
// 'Documentation' => '',
// 'Table of contents' => '',
// 'Gantt' => '',
// 'Help with project permissions' => '',
);

View File

@ -1060,4 +1060,11 @@ return array(
// 'Gitlab Account' => '',
// 'Link my Gitlab Account' => '',
// 'Unlink my Gitlab Account' => '',
// 'Documentation: %s' => '',
// 'Switch to the Gantt chart view' => '',
// 'Reset the search/filter box' => '',
// 'Documentation' => '',
// 'Table of contents' => '',
// 'Gantt' => '',
// 'Help with project permissions' => '',
);

View File

@ -1060,4 +1060,11 @@ return array(
// 'Gitlab Account' => '',
// 'Link my Gitlab Account' => '',
// 'Unlink my Gitlab Account' => '',
// 'Documentation: %s' => '',
// 'Switch to the Gantt chart view' => '',
// 'Reset the search/filter box' => '',
// 'Documentation' => '',
// 'Table of contents' => '',
// 'Gantt' => '',
// 'Help with project permissions' => '',
);

View File

@ -1060,4 +1060,11 @@ return array(
// 'Gitlab Account' => '',
// 'Link my Gitlab Account' => '',
// 'Unlink my Gitlab Account' => '',
// 'Documentation: %s' => '',
// 'Switch to the Gantt chart view' => '',
// 'Reset the search/filter box' => '',
// 'Documentation' => '',
// 'Table of contents' => '',
// 'Gantt' => '',
// 'Help with project permissions' => '',
);

View File

@ -1060,4 +1060,11 @@ return array(
'Gitlab Account' => 'Conta Gitlab',
'Link my Gitlab Account' => 'Vincular minha conta Gitlab',
'Unlink my Gitlab Account' => 'Desvincular minha conta Gitlab',
// 'Documentation: %s' => '',
// 'Switch to the Gantt chart view' => '',
// 'Reset the search/filter box' => '',
// 'Documentation' => '',
// 'Table of contents' => '',
// 'Gantt' => '',
// 'Help with project permissions' => '',
);

View File

@ -1060,4 +1060,11 @@ return array(
'Gitlab Account' => 'Conta Gitlab',
'Link my Gitlab Account' => 'Connectar a minha Conta Gitlab',
'Unlink my Gitlab Account' => 'Desconectar a minha Conta Gitlab',
// 'Documentation: %s' => '',
// 'Switch to the Gantt chart view' => '',
// 'Reset the search/filter box' => '',
// 'Documentation' => '',
// 'Table of contents' => '',
// 'Gantt' => '',
// 'Help with project permissions' => '',
);

View File

@ -1060,4 +1060,11 @@ return array(
// 'Gitlab Account' => '',
// 'Link my Gitlab Account' => '',
// 'Unlink my Gitlab Account' => '',
// 'Documentation: %s' => '',
// 'Switch to the Gantt chart view' => '',
// 'Reset the search/filter box' => '',
// 'Documentation' => '',
// 'Table of contents' => '',
// 'Gantt' => '',
// 'Help with project permissions' => '',
);

View File

@ -1060,4 +1060,11 @@ return array(
// 'Gitlab Account' => '',
// 'Link my Gitlab Account' => '',
// 'Unlink my Gitlab Account' => '',
// 'Documentation: %s' => '',
// 'Switch to the Gantt chart view' => '',
// 'Reset the search/filter box' => '',
// 'Documentation' => '',
// 'Table of contents' => '',
// 'Gantt' => '',
// 'Help with project permissions' => '',
);

View File

@ -1060,4 +1060,11 @@ return array(
// 'Gitlab Account' => '',
// 'Link my Gitlab Account' => '',
// 'Unlink my Gitlab Account' => '',
// 'Documentation: %s' => '',
// 'Switch to the Gantt chart view' => '',
// 'Reset the search/filter box' => '',
// 'Documentation' => '',
// 'Table of contents' => '',
// 'Gantt' => '',
// 'Help with project permissions' => '',
);

View File

@ -1060,4 +1060,11 @@ return array(
// 'Gitlab Account' => '',
// 'Link my Gitlab Account' => '',
// 'Unlink my Gitlab Account' => '',
// 'Documentation: %s' => '',
// 'Switch to the Gantt chart view' => '',
// 'Reset the search/filter box' => '',
// 'Documentation' => '',
// 'Table of contents' => '',
// 'Gantt' => '',
// 'Help with project permissions' => '',
);

View File

@ -1060,4 +1060,11 @@ return array(
// 'Gitlab Account' => '',
// 'Link my Gitlab Account' => '',
// 'Unlink my Gitlab Account' => '',
// 'Documentation: %s' => '',
// 'Switch to the Gantt chart view' => '',
// 'Reset the search/filter box' => '',
// 'Documentation' => '',
// 'Table of contents' => '',
// 'Gantt' => '',
// 'Help with project permissions' => '',
);

View File

@ -1060,4 +1060,11 @@ return array(
// 'Gitlab Account' => '',
// 'Link my Gitlab Account' => '',
// 'Unlink my Gitlab Account' => '',
// 'Documentation: %s' => '',
// 'Switch to the Gantt chart view' => '',
// 'Reset the search/filter box' => '',
// 'Documentation' => '',
// 'Table of contents' => '',
// 'Gantt' => '',
// 'Help with project permissions' => '',
);

View File

@ -12,8 +12,7 @@
<li><a href="#" class="filter-helper" data-filter="status:open assignee:nobody"><?= t('Not assigned') ?></a></li>
<li><a href="#" class="filter-helper" data-filter="status:open category:none"><?= t('No category') ?></a></li>
<li>
<i class="fa fa-external-link"></i>
<a href="http://kanboard.net/documentation/search" target="_blank"><?= t('View advanced search syntax') ?></a>
<?= $this->url->doc(t('View advanced search syntax'), 'search') ?>
</li>
</ul>
</div>

View File

@ -30,7 +30,7 @@
</li>
</ul>
</div>
<div class="form-help"><a href="http://kanboard.net/documentation/syntax-guide" target="_blank" rel="noreferrer"><?= t('Write your text in Markdown') ?></a></div>
<div class="form-help"><?= $this->url->doc(t('Write your text in Markdown'), 'syntax-guide') ?></div>
<div class="form-actions">
<input type="submit" value="<?= t('Save') ?>" class="btn btn-blue"/>

View File

@ -34,7 +34,7 @@
</li>
</ul>
</div>
<div class="form-help"><a href="http://kanboard.net/documentation/syntax-guide" target="_blank" rel="noreferrer"><?= t('Write your text in Markdown') ?></a></div>
<div class="form-help"><?= $this->url->doc(t('Write your text in Markdown'), 'syntax-guide') ?></div>
<div class="form-actions">
<input type="submit" value="<?= t('Save') ?>" class="btn btn-blue"/>

View File

@ -81,7 +81,7 @@
</li>
</ul>
</div>
<div class="form-help"><a href="http://kanboard.net/documentation/syntax-guide" target="_blank" rel="noreferrer"><?= t('Write your text in Markdown') ?></a></div>
<div class="form-help"><?= $this->url->doc(t('Write your text in Markdown'), 'syntax-guide') ?></div>
<div class="form-actions">
<input type="submit" value="<?= t('Add this column') ?>" class="btn btn-blue"/>

View File

@ -24,7 +24,7 @@
</div>
</div>
<div class="form-help"><a href="http://kanboard.net/documentation/syntax-guide" target="_blank" rel="noreferrer"><?= t('Write your text in Markdown') ?></a></div>
<div class="form-help"><?= $this->url->doc(t('Write your text in Markdown'), 'syntax-guide') ?></div>
<div class="form-actions">
<input type="submit" value="<?= t('Save') ?>" class="btn btn-blue"/>

View File

@ -26,7 +26,7 @@
</div>
</div>
<div class="form-help"><a href="http://kanboard.net/documentation/syntax-guide" target="_blank" rel="noreferrer"><?= t('Write your text in Markdown') ?></a></div>
<div class="form-help"><?= $this->url->doc(t('Write your text in Markdown'), 'syntax-guide') ?></div>
<div class="form-actions">
<input type="submit" value="<?= t('Update') ?>" class="btn btn-blue"/>

View File

@ -9,37 +9,37 @@
<h3><i class="fa fa-google"></i> <?= t('Google Authentication') ?></h3>
<div class="listing">
<input type="text" class="auto-select" readonly="readonly" value="<?= $this->url->href('oauth', 'google', array(), false, '', true) ?>"/><br/>
<p class="form-help"><a href="http://kanboard.net/documentation/google-authentication" target="_blank"><?= t('Help on Google authentication') ?></a></p>
<p class="form-help"><?= $this->url->doc(t('Help on Google authentication'), 'google-authentication') ?></p>
</div>
<h3><i class="fa fa-github"></i> <?= t('Github Authentication') ?></h3>
<div class="listing">
<input type="text" class="auto-select" readonly="readonly" value="<?= $this->url->href('oauth', 'github', array(), false, '', true) ?>"/><br/>
<p class="form-help"><a href="http://kanboard.net/documentation/github-authentication" target="_blank"><?= t('Help on Github authentication') ?></a></p>
<p class="form-help"><?= $this->url->doc(t('Help on Github authentication'), 'github-authentication') ?></p>
</div>
<h3><img src="<?= $this->url->dir() ?>assets/img/gitlab-icon.png"/>&nbsp;<?= t('Gitlab Authentication') ?></h3>
<div class="listing">
<input type="text" class="auto-select" readonly="readonly" value="<?= $this->url->href('oauth', 'gitlab', array(), false, '', true) ?>"/><br/>
<p class="form-help"><a href="http://kanboard.net/documentation/gitlab-authentication" target="_blank"><?= t('Help on Gitlab authentication') ?></a></p>
<p class="form-help"><?= $this->url->doc(t('Help on Gitlab authentication'), 'gitlab-authentication') ?></p>
</div>
<h3><img src="<?= $this->url->dir() ?>assets/img/mailgun-icon.png"/>&nbsp;<?= t('Mailgun (incoming emails)') ?></h3>
<div class="listing">
<input type="text" class="auto-select" readonly="readonly" value="<?= $this->url->href('webhook', 'mailgun', array('token' => $values['webhook_token']), false, '', true) ?>"/><br/>
<p class="form-help"><a href="http://kanboard.net/documentation/mailgun" target="_blank"><?= t('Help on Mailgun integration') ?></a></p>
<p class="form-help"><?= $this->url->doc(t('Help on Mailgun integration'), 'mailgun') ?></p>
</div>
<h3><img src="<?= $this->url->dir() ?>assets/img/sendgrid-icon.png"/>&nbsp;<?= t('Sendgrid (incoming emails)') ?></h3>
<div class="listing">
<input type="text" class="auto-select" readonly="readonly" value="<?= $this->url->href('webhook', 'sendgrid', array('token' => $values['webhook_token']), false, '', true) ?>"/><br/>
<p class="form-help"><a href="http://kanboard.net/documentation/sendgrid" target="_blank"><?= t('Help on Sendgrid integration') ?></a></p>
<p class="form-help"><?= $this->url->doc(t('Help on Sendgrid integration'), 'sendgrid') ?></p>
</div>
<h3><img src="<?= $this->url->dir() ?>assets/img/postmark-icon.png"/>&nbsp;<?= t('Postmark (incoming emails)') ?></h3>
<div class="listing">
<input type="text" class="auto-select" readonly="readonly" value="<?= $this->url->href('webhook', 'postmark', array('token' => $values['webhook_token']), false, '', true) ?>"/><br/>
<p class="form-help"><a href="http://kanboard.net/documentation/postmark" target="_blank"><?= t('Help on Postmark integration') ?></a></p>
<p class="form-help"><?= $this->url->doc(t('Help on Postmark integration'), 'postmark') ?></p>
</div>
<h3><img src="<?= $this->url->dir() ?>assets/img/gravatar-icon.png"/>&nbsp;<?= t('Gravatar') ?></h3>
@ -70,7 +70,7 @@
<?= $this->form->label(t('Multi-user chat room'), 'integration_jabber_room') ?>
<?= $this->form->text('integration_jabber_room', $values, $errors, array('placeholder="myroom@conference.example.com"')) ?>
<p class="form-help"><a href="http://kanboard.net/documentation/jabber" target="_blank"><?= t('Help on Jabber integration') ?></a></p>
<p class="form-help"><?= $this->url->doc(t('Help on Jabber integration'), 'jabber') ?></p>
</div>
<h3><img src="<?= $this->url->dir() ?>assets/img/hipchat-icon.png"/> <?= t('Hipchat') ?></h3>
@ -86,7 +86,7 @@
<?= $this->form->label(t('Room notification token'), 'integration_hipchat_room_token') ?>
<?= $this->form->text('integration_hipchat_room_token', $values, $errors) ?>
<p class="form-help"><a href="http://kanboard.net/documentation/hipchat" target="_blank"><?= t('Help on Hipchat integration') ?></a></p>
<p class="form-help"><?= $this->url->doc(t('Help on Hipchat integration'), 'hipchat') ?></p>
</div>
<h3><i class="fa fa-slack fa-fw"></i>&nbsp;<?= t('Slack') ?></h3>
@ -98,7 +98,7 @@
<?= $this->form->label(t('Channel/Group/User (Optional)'), 'integration_slack_webhook_channel') ?>
<?= $this->form->text('integration_slack_webhook_channel', $values, $errors) ?>
<p class="form-help"><a href="http://kanboard.net/documentation/slack" target="_blank"><?= t('Help on Slack integration') ?></a></p>
<p class="form-help"><?= $this->url->doc(t('Help on Slack integration'), 'slack') ?></p>
</div>
<div class="form-actions">

View File

@ -31,6 +31,9 @@
<li <?= $this->app->getRouterAction() === 'api' ? 'class="active"' : '' ?>>
<?= $this->url->link(t('API'), 'config', 'api') ?>
</li>
<li>
<?= $this->url->link(t('Documentation'), 'doc', 'show') ?>
</li>
</ul>
<div class="sidebar-collapse"><a href="#" title="<?= t('Hide sidebar') ?>"><i class="fa fa-chevron-left"></i></a></div>
<div class="sidebar-expand" style="display: none"><a href="#" title="<?= t('Expand sidebar') ?>"><i class="fa fa-chevron-right"></i></a></div>

13
app/Template/doc/show.php Normal file
View File

@ -0,0 +1,13 @@
<section id="main">
<div class="page-header">
<ul>
<li>
<i class="fa fa-life-ring fa-fw"></i>
<?= $this->url->link(t('Table of contents'), 'doc', 'show', array('file' => 'index')) ?>
</li>
</ul>
</div>
<div class="markdown documentation">
<?= $content ?>
</div>
</section>

View File

@ -42,7 +42,7 @@
</li>
</ul>
</div>
<div class="form-help"><a href="http://kanboard.net/documentation/syntax-guide" target="_blank" rel="noreferrer"><?= t('Write your text in Markdown') ?></a></div>
<div class="form-help"><?= $this->url->doc(t('Write your text in Markdown'), 'syntax-guide') ?></div>
<div class="form-actions">
<input type="submit" value="<?= t('Save') ?>" class="btn btn-blue"/>

View File

@ -9,21 +9,21 @@
<h3><i class="fa fa-github fa-fw"></i>&nbsp;<?= t('Github webhooks') ?></h3>
<div class="listing">
<input type="text" class="auto-select" readonly="readonly" value="<?= $this->url->href('webhook', 'github', array('token' => $webhook_token, 'project_id' => $project['id']), false, '', true) ?>"/><br/>
<p class="form-help"><a href="http://kanboard.net/documentation/github-webhooks" target="_blank"><?= t('Help on Github webhooks') ?></a></p>
<p class="form-help"><?= $this->url->doc(t('Help on Github webhooks'), 'github-webhooks') ?></p>
</div>
<h3><img src="<?= $this->url->dir() ?>assets/img/gitlab-icon.png"/>&nbsp;<?= t('Gitlab webhooks') ?></h3>
<div class="listing">
<input type="text" class="auto-select" readonly="readonly" value="<?= $this->url->href('webhook', 'gitlab', array('token' => $webhook_token, 'project_id' => $project['id']), false, '', true) ?>"/><br/>
<p class="form-help"><a href="http://kanboard.net/documentation/gitlab-webhooks" target="_blank"><?= t('Help on Gitlab webhooks') ?></a></p>
<p class="form-help"><?= $this->url->doc(t('Help on Gitlab webhooks'), 'gitlab-webhooks') ?></p>
</div>
<h3><i class="fa fa-bitbucket fa-fw"></i>&nbsp;<?= t('Bitbucket webhooks') ?></h3>
<div class="listing">
<input type="text" class="auto-select" readonly="readonly" value="<?= $this->url->href('webhook', 'bitbucket', array('token' => $webhook_token, 'project_id' => $project['id']), false, '', true) ?>"/><br/>
<p class="form-help"><a href="http://kanboard.net/documentation/bitbucket-webhooks" target="_blank"><?= t('Help on Bitbucket webhooks') ?></a></p>
<p class="form-help"><?= $this->url->doc(t('Help on Bitbucket webhooks'), 'bitbucket-webhooks') ?></p>
</div>
@ -50,7 +50,7 @@
<?= $this->form->label(t('Multi-user chat room'), 'jabber_room') ?>
<?= $this->form->text('jabber_room', $values, $errors, array('placeholder="myroom@conference.example.com"')) ?>
<p class="form-help"><a href="http://kanboard.net/documentation/jabber" target="_blank"><?= t('Help on Jabber integration') ?></a></p>
<p class="form-help"><?= $this->url->doc(t('Help on Jabber integration'), 'jabber') ?></p>
<div class="form-actions">
<input type="submit" value="<?= t('Save') ?>" class="btn btn-blue"/>
@ -71,7 +71,7 @@
<?= $this->form->label(t('Room notification token'), 'hipchat_room_token') ?>
<?= $this->form->text('hipchat_room_token', $values, $errors) ?>
<p class="form-help"><a href="http://kanboard.net/documentation/hipchat" target="_blank"><?= t('Help on Hipchat integration') ?></a></p>
<p class="form-help"><?= $this->url->doc(t('Help on Hipchat integration'), 'hipchat') ?></a></p>
<div class="form-actions">
<input type="submit" value="<?= t('Save') ?>" class="btn btn-blue"/>
@ -88,7 +88,7 @@
<?= $this->form->label(t('Channel/Group/User (Optional)'), 'slack_webhook_channel') ?>
<?= $this->form->text('slack_webhook_channel', $values, $errors) ?>
<p class="form-help"><a href="http://kanboard.net/documentation/slack" target="_blank"><?= t('Help on Slack integration') ?></a></p>
<p class="form-help"><?= $this->url->doc(t('Help on Slack integration'), 'slack') ?></p>
<div class="form-actions">
<input type="submit" value="<?= t('Save') ?>" class="btn btn-blue"/>

View File

@ -77,5 +77,6 @@
<ul>
<li><?= t('A project manager can change the settings of the project and have more privileges than a standard user.') ?></li>
<li><?= t('Don\'t forget that administrators have access to everything.') ?></li>
<li><?= $this->url->doc(t('Help with project permissions'), 'project-permissions') ?></li>
</ul>
</div>

View File

@ -31,7 +31,7 @@
<li><?= t('Search by description: ') ?><strong>description:"Something to find"</strong></li>
<li><?= t('Search by due date: ') ?><strong>due:2015-07-01</strong></li>
</ul>
<p><i class="fa fa-external-link fa-fw"></i><a href="http://kanboard.net/documentation/search" target="_blank"><?= t('View advanced search syntax') ?></a></p>
<p><i class="fa fa-external-link fa-fw"></i><?= $this->url->doc(t('View advanced search syntax'), 'search') ?></p>
</div>
<?php elseif (! empty($values['search']) && $paginator->isEmpty()): ?>
<p class="alert"><?= t('Nothing found.') ?></p>

View File

@ -38,7 +38,7 @@
</ul>
</div>
<div class="form-help"><a href="http://kanboard.net/documentation/syntax-guide" target="_blank" rel="noreferrer"><?= t('Write your text in Markdown') ?></a></div>
<div class="form-help"><?= $this->url->doc(t('Write your text in Markdown'), 'syntax-guide') ?></div>
<?php if (! isset($duplicate)): ?>
<?= $this->form->checkbox('another_task', t('Create another task'), 1, isset($values['another_task']) && $values['another_task'] == 1) ?>

View File

@ -24,7 +24,7 @@
</div>
</div>
<div class="form-help"><a href="http://kanboard.net/documentation/syntax-guide" target="_blank" rel="noreferrer"><?= t('Write your text in Markdown') ?></a></div>
<div class="form-help"><?= $this->url->doc(t('Write your text in Markdown'), 'syntax-guide') ?></div>
<div class="form-actions">
<input type="submit" value="<?= t('Save') ?>" class="btn btn-blue"/>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -40,7 +40,7 @@
}
.markdown pre {
background: #fdfdfd;
background: #fbfbfb;
padding: 10px;
border-radius: 5px;
border: 1px solid #ddd;
@ -62,3 +62,30 @@
margin-top: 10px;
}
.documentation {
margin: 0 auto;
padding: 20px;
max-width: 850px;
background: #fefefe;
border: 1px solid #ccc;
border-radius: 5px;
font-size: 1.0em;
color: #555;
}
.documentation img {
border: 1px solid #333;
}
.documentation h1 {
text-decoration: none;
font-size: 1.8em;
margin-bottom: 30px;
}
.documentation h2 {
font-size: 1.3em;
text-decoration: none;
border-bottom: 1px solid #ccc;
margin-bottom: 25px;
}

View File

@ -5,7 +5,7 @@
"ext-gd" : "*",
"christian-riesen/otp" : "1.4",
"eluceo/ical": "0.8.0",
"erusev/parsedown" : "1.5.3",
"erusev/parsedown" : "1.5.4",
"fabiang/xmpp" : "0.6.1",
"fguillot/json-rpc" : "1.0.1",
"fguillot/picodb" : "1.0.1",

12
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
"hash": "0478ce343724fb1689fe2778ba5b687e",
"hash": "70930e0b92d7ff0208ed435fd3accd30",
"packages": [
{
"name": "christian-riesen/base32",
@ -163,16 +163,16 @@
},
{
"name": "erusev/parsedown",
"version": "1.5.3",
"version": "1.5.4",
"source": {
"type": "git",
"url": "https://github.com/erusev/parsedown.git",
"reference": "b9e5228e92e5f5c17d7774cfb2de8e5e8362de1a"
"reference": "0e89e3714bda18973184d30646306bb0a482bd96"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/erusev/parsedown/zipball/b9e5228e92e5f5c17d7774cfb2de8e5e8362de1a",
"reference": "b9e5228e92e5f5c17d7774cfb2de8e5e8362de1a",
"url": "https://api.github.com/repos/erusev/parsedown/zipball/0e89e3714bda18973184d30646306bb0a482bd96",
"reference": "0e89e3714bda18973184d30646306bb0a482bd96",
"shasum": ""
},
"type": "library",
@ -198,7 +198,7 @@
"markdown",
"parser"
],
"time": "2015-04-29 20:22:24"
"time": "2015-08-03 09:24:05"
},
{
"name": "fabiang/xmpp",

Some files were not shown because too many files have changed in this diff Show More