Overview
Comment:Add french syntax to Skriv extensions, document extensions
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 8925851af55b9cf44292bc26fc89cf6af2b5fe4e63ff2fbd24d6832de1db9288
User & Date: bohwaz on 2021-05-20 11:29:05
Other Links: manifest | tags
Context
2021-05-20
15:58
Refactor rendering classes to use an abstract parent check-in: 6d5b0c3e04 user: bohwaz tags: trunk
11:29
Add french syntax to Skriv extensions, document extensions check-in: 8925851af5 user: bohwaz tags: trunk
11:11
Implement our own lighter TOC function instead of using ParsedownToc check-in: 153b3b51b5 user: bohwaz tags: trunk
Changes

Modified src/include/lib/Garradin/Web/Render/Parsedown.php from [034cad20a7] to [e9206e8d80].

70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
		}

		return $block;
	}

	protected function blockTOC(array $line): ?array
	{
		if (false === strpos($line['text'], '[toc]')) {
			return null;
		}

		return [
			'char'     => $line['text'][0],
			'complete' => true,
			'element'  => [







|







70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
		}

		return $block;
	}

	protected function blockTOC(array $line): ?array
	{
		if (!preg_match('/^\[(?:toc|sommaire)\]$/', trim($line['text']))) {
			return null;
		}

		return [
			'char'     => $line['text'][0],
			'complete' => true,
			'element'  => [

Modified src/include/lib/Garradin/Web/Render/Skriv.php from [00ed3e4836] to [549431f840].

19
20
21
22
23
24
25

26
27
28
29
30
31
32
..
96
97
98
99
100
101
102
103
104
105
106
107


108
109
110
111
112
113
114

	public function __construct()
	{
		if (!self::$skriv)
		{
			self::$skriv = new \KD2\SkrivLite;
			self::$skriv->registerExtension('file', [$this, 'SkrivFile']);

			self::$skriv->registerExtension('image', [$this, 'SkrivImage']);

			// Enregistrer d'autres extensions éventuellement
			Plugin::fireSignal('skriv.init', ['skriv' => self::$skriv]);
		}
	}

................................................................................
	 * Callback utilisé pour l'extension <<image>> dans le wiki-texte
	 * @param array $args    Arguments passés à l'extension
	 * @param string $content Contenu éventuel (en mode bloc)
	 * @param SkrivLite $skriv   Objet SkrivLite
	 */
	public function SkrivImage(array $args, ?string $content, SkrivLite $skriv): string
	{
		static $align_values = ['left', 'right', 'center'];

		$name = $args[0] ?? null;
		$align = $args[1] ?? null;
		$caption = $args[2] ?? null;



		if (!$name || !$this->current_path)
		{
			return $skriv->parseError('/!\ Tag image : aucun nom de fichier indiqué.');
		}

		$url = $this->resolveAttachment($name);







>







 







|




>
>







19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
..
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117

	public function __construct()
	{
		if (!self::$skriv)
		{
			self::$skriv = new \KD2\SkrivLite;
			self::$skriv->registerExtension('file', [$this, 'SkrivFile']);
			self::$skriv->registerExtension('fichier', [$this, 'SkrivFile']);
			self::$skriv->registerExtension('image', [$this, 'SkrivImage']);

			// Enregistrer d'autres extensions éventuellement
			Plugin::fireSignal('skriv.init', ['skriv' => self::$skriv]);
		}
	}

................................................................................
	 * Callback utilisé pour l'extension <<image>> dans le wiki-texte
	 * @param array $args    Arguments passés à l'extension
	 * @param string $content Contenu éventuel (en mode bloc)
	 * @param SkrivLite $skriv   Objet SkrivLite
	 */
	public function SkrivImage(array $args, ?string $content, SkrivLite $skriv): string
	{
		static $align_replace = ['gauche' => 'left', 'droite' => 'right', 'centre' => 'center'];

		$name = $args[0] ?? null;
		$align = $args[1] ?? null;
		$caption = $args[2] ?? null;

		$align = strtr($align, $align_replace);

		if (!$name || !$this->current_path)
		{
			return $skriv->parseError('/!\ Tag image : aucun nom de fichier indiqué.');
		}

		$url = $this->resolveAttachment($name);

Modified src/www/admin/web/_syntax_markdown.html from [a461d06388] to [1df2308f82].

115
116
117
118
119
120
121




















122
123
124
125
126
127
128
...
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
        <td>Afficher l'aide</td>
      </tr>
    </tbody>
  </table>
</section>

<section>





















<div class="web-content"><h1>La syntaxe markdown</h1>
<p>Pour formater votre texte vous avez la possibilité d'utiliser la barre d'outils située au-dessus de la zone de texte, ou vous pouvez utiliser la syntaxe markdown.</p>
<h2>Styles de texte</h2>
<p>Vous pouvez utiliser <code>_</code> ou <code>*</code> autour d'un mot pour le mettre en italique. Mettez-en deux pour le mettre en gras.</p>
<ul>
<li><code>_italique_</code> s'affiche ainsi&nbsp;: <em>italique</em></li>
................................................................................
<li>élément deux</li>
</ol>
<h2>Titres</h2>
<p>Pour faire un titre, vous devez mettre un <code>#</code> devant la ligne. Pour faire un titre plus petit, ajoutez un <code>#</code> (jusque 6) :</p>
<pre># Un grand titre
## Un titre un peu moins grand
### Un titre encore moins grand</pre>
<p>Vous pouvez également souligner le texte en utilisant <code>===</code> ou <code>---</code> pour créer des titres.</p>
<pre>Un grand titre
=============</pre>
<h2>Tableaux</h2>
<p>Pour créer un tableau vous devez placer une ligne de tirets (<code>-</code>) sous la ligne d'entête et séparer les colonnes avec des <code>|</code>. Vous pouvez aussi préciser l'alignement en utilisant des <code>:</code>. :</p>
<pre>| Aligné à gauche  | Centré          | Aligné à droite |
| :--------------- |:---------------:| -----:|
| Aligné à gauche  |   ce texte        |  Aligné à droite |
| Aligné à gauche  | est             |   Aligné à droite |
| Aligné à gauche  | centré          |    Aligné à droite |</pre>







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







<
<
<







115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
...
197
198
199
200
201
202
203



204
205
206
207
208
209
210
        <td>Afficher l'aide</td>
      </tr>
    </tbody>
  </table>
</section>

<section>
  <h2>Extensions Markdown</h2>
  <h3>Sommaire / table des matières automatique</h3>
  <p>Il suffit de placer la mention <code>[toc]</code> ou <code>[sommaire]</code> sur une ligne (sans aucun autre texte) pour afficher un sommaire automatique de la page&nbsp;:</p>
<div class="toc"><ol><li><a href="#La-syntaxe-markdown">La syntaxe markdown</a></li><ol><li><a href="#Styles-de-texte">Styles de texte</a></li><li><a href="#Blocs-de-code">Blocs de code</a></li><li><a href="#Liens">Liens</a></li><li><a href="#Images">Images</a></li><li><a href="#Citation">Citation</a></li><li><a href="#Listes">Listes</a></li><li><a href="#Titres">Titres</a></li><li><a href="#Tableaux">Tableaux</a></li></ol></ol></div>
  <h3>Images</h3>
  <p>Il est possible d'intégrer une image jointe à la page web en plaçant le code suivant sur une ligne (sans autre texte)&nbsp;:</p>
  <pre>&lt;&lt;image|nom_fichier.jpg|alignement|Légende&gt;&gt;</pre>
  <p><code>nom_fichier.jpg</code> indique le nom du fichier de l'image</p>
  <p><code>alignement</code> indique l'alignement de l'image peut être <code>centre</code>, <code>gauche</code>, ou <code>droite</code></p>
  <p><code>Légende</code> indique une légende facultative à afficher en dessous de l'image</p>
  <h3>Fichiers</h3>
  <p>Pour créer un bouton permettant de voir ou télécharger un fichier joint à la page web, il suffit d'utiliser la syntaxe suivante :</p>
  <pre>&lt;&lt;fichier|nom_fichier.pdf|Légende&gt;&gt;</pre>
  <p><code>nom_fichier.jpg</code> indique le nom du fichier</p>
  <p><code>Légende</code> indique une légende facultative pour le texte du bouton, si aucune légende n'est donnée alors c'est le nom du fichier qui sera affiché</p>
  <h3>Notes de bas de page</h3>
  <pre>Texte très intéressant[^1]<br><br>[^1]: Ceci est une note de bas de page</pre>
</section>

<section>

<div class="web-content"><h1>La syntaxe markdown</h1>
<p>Pour formater votre texte vous avez la possibilité d'utiliser la barre d'outils située au-dessus de la zone de texte, ou vous pouvez utiliser la syntaxe markdown.</p>
<h2>Styles de texte</h2>
<p>Vous pouvez utiliser <code>_</code> ou <code>*</code> autour d'un mot pour le mettre en italique. Mettez-en deux pour le mettre en gras.</p>
<ul>
<li><code>_italique_</code> s'affiche ainsi&nbsp;: <em>italique</em></li>
................................................................................
<li>élément deux</li>
</ol>
<h2>Titres</h2>
<p>Pour faire un titre, vous devez mettre un <code>#</code> devant la ligne. Pour faire un titre plus petit, ajoutez un <code>#</code> (jusque 6) :</p>
<pre># Un grand titre
## Un titre un peu moins grand
### Un titre encore moins grand</pre>



<h2>Tableaux</h2>
<p>Pour créer un tableau vous devez placer une ligne de tirets (<code>-</code>) sous la ligne d'entête et séparer les colonnes avec des <code>|</code>. Vous pouvez aussi préciser l'alignement en utilisant des <code>:</code>. :</p>
<pre>| Aligné à gauche  | Centré          | Aligné à droite |
| :--------------- |:---------------:| -----:|
| Aligné à gauche  |   ce texte        |  Aligné à droite |
| Aligné à gauche  | est             |   Aligné à droite |
| Aligné à gauche  | centré          |    Aligné à droite |</pre>

Modified src/www/admin/web/_syntax_skriv.html from [7c8a668e49] to [292a1094f3].

115
116
117
118
119
120
121
















122
123
124
125
126
127
128
...
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
</section>

<header>
	<h1>Syntaxe</h1>
	<p>Garradin utilise la syntaxe <a href="http://markup.skriv.org/language/syntax">SkrivML</a> pour 
		le formatage du texte dans le wiki.</p>
</header>

















<section>
	<h2>Styles de base</h2>
	<article>
		<h3>Gras</h3>
		<pre>Utiliser **deux astérisques**.</pre>
		<samp>Utiliser <b>deux astérisques</b>.</samp>
................................................................................
	<article>
		<h3>Lien wiki avec libellé différent</h3>
		<pre>Voir [[cette page|Autre page du wiki]]</pre>
		<samp>Voir <a title="Autre_page_du_wiki">cette page</a></samp>
	</article>
	<article>
		<h3>Lien externe</h3>
		<pre>[[http://garradin.eu/]]</pre>
		<samp><a>http://garradin.eu/</a></samp>
	</article>
</section>

<section>
	<h2>Tableaux</h2>
	<article>
		<pre>!! Colonne 1 !! Colonne 2<br />|| Cellule 1 || Cellule 2<br />|| Cellule 3 || Cellule 4</pre>







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







|
|







115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
...
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
</section>

<header>
	<h1>Syntaxe</h1>
	<p>Garradin utilise la syntaxe <a href="http://markup.skriv.org/language/syntax">SkrivML</a> pour 
		le formatage du texte dans le wiki.</p>
</header>

<section>
	<h2>Extensions</h2>
	<h3>Images</h3>
	<p>Il est possible d'intégrer une image jointe à la page web en plaçant le code suivant sur une ligne (sans autre texte)&nbsp;:</p>
	<pre>&lt;&lt;image|nom_fichier.jpg|alignement|Légende&gt;&gt;</pre>
	<p><code>nom_fichier.jpg</code> indique le nom du fichier de l'image</p>
	<p><code>alignement</code> indique l'alignement de l'image peut être <code>centre</code>, <code>gauche</code>, ou <code>droite</code></p>
	<p><code>Légende</code> indique une légende facultative à afficher en dessous de l'image</p>
	<h3>Fichiers</h3>
	<p>Pour créer un bouton permettant de voir ou télécharger un fichier joint à la page web, il suffit d'utiliser la syntaxe suivante :</p>
	<pre>&lt;&lt;fichier|nom_fichier.pdf|Légende&gt;&gt;</pre>
	<p><code>nom_fichier.jpg</code> indique le nom du fichier</p>
	<p><code>Légende</code> indique une légende facultative pour le texte du bouton, si aucune légende n'est donnée alors c'est le nom du fichier qui sera affiché</p>
</section>


<section>
	<h2>Styles de base</h2>
	<article>
		<h3>Gras</h3>
		<pre>Utiliser **deux astérisques**.</pre>
		<samp>Utiliser <b>deux astérisques</b>.</samp>
................................................................................
	<article>
		<h3>Lien wiki avec libellé différent</h3>
		<pre>Voir [[cette page|Autre page du wiki]]</pre>
		<samp>Voir <a title="Autre_page_du_wiki">cette page</a></samp>
	</article>
	<article>
		<h3>Lien externe</h3>
		<pre>[[https://garradin.eu/]]</pre>
		<samp><a>https://garradin.eu/</a></samp>
	</article>
</section>

<section>
	<h2>Tableaux</h2>
	<article>
		<pre>!! Colonne 1 !! Colonne 2<br />|| Cellule 1 || Cellule 2<br />|| Cellule 3 || Cellule 4</pre>