mirror of
https://github.com/InsanusMokrassar/docs.git
synced 2025-10-26 01:30:29 +00:00
deploy: f7a2359066
This commit is contained in:
@@ -1170,21 +1170,21 @@
|
||||
|
||||
<h1 id="text">Text<a class="headerlink" href="#text" title="Permanent link">¶</a></h1>
|
||||
<p>For the text creating there are several tools. The most simple one is to concatenate several text sources to make list of text sources as a result:</p>
|
||||
<pre><code class="language-kotlin">val sources = "Regular start of text " + bold("with bold part") + italic("and italic ending")
|
||||
</code></pre>
|
||||
<div class="language-kotlin highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="kd">val</span><span class="w"> </span><span class="nv">sources</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">"Regular start of text "</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">bold</span><span class="p">(</span><span class="s">"with bold part"</span><span class="p">)</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">italic</span><span class="p">(</span><span class="s">"and italic ending"</span><span class="p">)</span>
|
||||
</span></code></pre></div>
|
||||
<p>But there is a little bit more useful way: entities builder:</p>
|
||||
<pre><code class="language-kotlin">val items = (0 until 10).map { it.toString() }
|
||||
buildEntities(" ") {// optional " " auto separator which will be pasted between text sources
|
||||
+"It is regular start too" + bold("it is bold as well")
|
||||
items.forEachIndexed { i, item ->
|
||||
if (i % 2) {
|
||||
italic(item)
|
||||
} else {
|
||||
strikethrough(item)
|
||||
}
|
||||
}
|
||||
}
|
||||
</code></pre>
|
||||
<div class="language-kotlin highlight"><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a><span class="kd">val</span><span class="w"> </span><span class="nv">items</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="m">0</span><span class="w"> </span><span class="n">until</span><span class="w"> </span><span class="m">10</span><span class="p">).</span><span class="na">map</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nb">it</span><span class="p">.</span><span class="na">toString</span><span class="p">()</span><span class="w"> </span><span class="p">}</span>
|
||||
</span><span id="__span-1-2"><a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a><span class="n">buildEntities</span><span class="p">(</span><span class="s">" "</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="c1">// optional " " auto separator which will be pasted between text sources</span>
|
||||
</span><span id="__span-1-3"><a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a><span class="w"> </span><span class="o">+</span><span class="s">"It is regular start too"</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">bold</span><span class="p">(</span><span class="s">"it is bold as well"</span><span class="p">)</span>
|
||||
</span><span id="__span-1-4"><a id="__codelineno-1-4" name="__codelineno-1-4" href="#__codelineno-1-4"></a><span class="w"> </span><span class="n">items</span><span class="p">.</span><span class="na">forEachIndexed</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="n">i</span><span class="p">,</span><span class="w"> </span><span class="n">item</span><span class="w"> </span><span class="o">-></span>
|
||||
</span><span id="__span-1-5"><a id="__codelineno-1-5" name="__codelineno-1-5" href="#__codelineno-1-5"></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">i</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="m">2</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
|
||||
</span><span id="__span-1-6"><a id="__codelineno-1-6" name="__codelineno-1-6" href="#__codelineno-1-6"></a><span class="w"> </span><span class="n">italic</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
|
||||
</span><span id="__span-1-7"><a id="__codelineno-1-7" name="__codelineno-1-7" href="#__codelineno-1-7"></a><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span>
|
||||
</span><span id="__span-1-8"><a id="__codelineno-1-8" name="__codelineno-1-8" href="#__codelineno-1-8"></a><span class="w"> </span><span class="n">strikethrough</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
|
||||
</span><span id="__span-1-9"><a id="__codelineno-1-9" name="__codelineno-1-9" href="#__codelineno-1-9"></a><span class="w"> </span><span class="p">}</span>
|
||||
</span><span id="__span-1-10"><a id="__codelineno-1-10" name="__codelineno-1-10" href="#__codelineno-1-10"></a><span class="w"> </span><span class="p">}</span>
|
||||
</span><span id="__span-1-11"><a id="__codelineno-1-11" name="__codelineno-1-11" href="#__codelineno-1-11"></a><span class="p">}</span>
|
||||
</span></code></pre></div>
|
||||
<p>In the code above we are creating an items list just for demonstrating that inside of buildEntities body we may use any operations for cunstructing our result list of <code>TextSource</code>s. As a result, will be created the list which will looks like in telegram as “It is regular start too <strong>it is bold as well</strong> <em>0</em> ~~1~~ <em>2</em> ~~3~~ <em>4</em> ~~5~~ <em>6</em> ~~7~~ <em>8</em> ~~9~~”.</p>
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user