Most of these features can only be used in 'HTML View' mode, nor can you switch to 'Writing view' mode while using some of these features.
- In post editor view, click icon at the bottom right of the title
- Two options will appear: HTML view and Writing view
- Select 'HTML View'.
Tips
Use <p>Your_paragraph_here</p>
tag to add paragraphs to the article.
Image with Caption and Auto Lightbox
All images in the post will automatically have a lightbox function, click this image to try it. |
<table class='tr-caption-container'>
<tbody>
<tr>
<td>
<img alt='image_title_here' class='full' src='https://4.bp.blogspot.com/.../name.png'/>
</td>
</tr>
<tr>
<td class='tr-caption'>Your_caption_is_here</td>
</tr>
</tbody>
</table>
Added class='full'
works to remove margin image and screen, only works for mobile view.
Image with Grid Layout
<!--[ Grid Image ]-->
<div class='psImg grImg'>
<img alt='image_title_here' src='https://4.bp.blogspot.com/.../name.png'/>
<img alt='image_title_here' src='https://4.bp.blogspot.com/.../name.png'/>
<img alt='image_title_here' src='https://4.bp.blogspot.com/.../name.png'/>
<img alt='image_title_here' src='https://4.bp.blogspot.com/.../name.png'/>
</div>
Image with Show All Function
<!--[ Show All Image ]-->
<input class='inImg hidden' id='for-hideImage' type='checkbox'>
<div class='psImg hdImg'>
<img alt='image_title_here' src='https://4.bp.blogspot.com/.../name.png'/>
<img alt='image_title_here' src='https://4.bp.blogspot.com/.../name.png'/>
<img alt='image_title_here' src='https://4.bp.blogspot.com/.../name.png'/>
<div class='btImg'>
<img alt='image_title_here' src='https://4.bp.blogspot.com/.../name.png'/>
<!--[ Button image to activate ]-->
<label for='for-hideImage' aria-label='Show all image'>Show All</label>
</div>
<!--[ Hide the rest image here ]-->
<div class='psImg shImg'>
<img alt='image_title_here' src='https://4.bp.blogspot.com/.../name.png'/>
<img alt='image_title_here' src='https://4.bp.blogspot.com/.../name.png'/>
<img alt='image_title_here' src='https://4.bp.blogspot.com/.../name.png'/>
<img alt='image_title_here' src='https://4.bp.blogspot.com/.../name.png'/>
</div>
</div>
'Show All' function can only be clicked once, image cannot be hide again when you have activated it.
Image with Scroll Layout
Added scrolling function on images that will only be active in mobile view.
<!--[ Scroll Image ]-->
<div class='psImg scImg scrlH'>
<img alt='image_title_here' src='https://4.bp.blogspot.com/.../name.jpg'/>
<img alt='image_title_here' src='https://4.bp.blogspot.com/.../name.jpg'/>
<img alt='image_title_here' src='https://4.bp.blogspot.com/.../name.jpg'/>
<img alt='image_title_here' src='https://4.bp.blogspot.com/.../name.jpg'/>
</div>
lazyLoad Image
This feature is useful for increasing PageSpeed score of blog, loading images will be delayed until user scrolls the page to image area.
Also use <noscript>
to display the image when user disable javascript on their browser.
<div>
<img class='lazy' alt='image_title_here' data-src='https://4.bp.blogspot.com/.../name.png' src='data:image/png;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs='/>
<noscript><img alt='image_title_here' src='https://4.bp.blogspot.com/.../name.png'/></noscript>
</div>
Manual Related Post
<div class='pRelate'>
<!--[ Related title ]-->
<b>You may want to read this post :</b>
<ul>
<li><a href='#'>Your_post_title_here</a></li>
<li><a href='#'>Your_post_title_here</a></li>
<li><a href='#'>Your_post_title_here</a></li>
</ul>
</div>
Post Break
Can be used to separate paragraphs or create a new chapter in a post, an example of how it looks can be seen in this post.
<!--[ To break paragraphs apart ]-->
<hr>
Paragraph with Text Indent
This feature is used to make the first line of a paragraph indent with a predetermined value. You can also apply it to several other paragraphs.
<p class='pIndent'>Your_paragraph_is_here.</p>
Paragraph with Drop Cap
A large capital letter used as decorative element in the first paragraph, the size is usually two lines or more.
Drop cap will resize the first letter so that it drops one or more lines down. Many types of media print use drop caps such as books, magazines, newspapers and others because they can add visual appeal.
<p><span class='dropCap'>Y</span>our_paragraph_is_here.</p>
Blockquote
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin vestibulum dignissim diam, et efficitur felis commodo et. Mauris vel diam pellentesque lorem lacinia luctus.
— Anonymous
<blockquote>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin vestibulum dignissim diam, et efficitur felis commodo et. Mauris vel diam pellentesque lorem lacinia luctus.</blockquote>
Other styles you can use:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin vestibulum dignissim diam, et efficitur felis commodo et. Mauris vel diam pellentesque lorem lacinia luctus. Nulla quam magna, pharetra in ultrices at, condimentum id tellus.
- Sed suscipit sapien sed turpis ultrices viverra. Ut quis dui sed odio sollicitudin fermentum.
- Aliquam vitae metus laoreet, dapibus enim sit amet, feugiat lorem. Sed in dui purus.
<blockquote class='s-1'>
<div>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin vestibulum dignissim diam, et efficitur felis commodo et. Mauris vel diam pellentesque lorem lacinia luctus. Nulla quam magna, pharetra in ultrices at, condimentum id tellus.
<ul>
<li>Sed suscipit sapien sed turpis ultrices viverra. Ut quis dui sed odio sollicitudin fermentum.</li>
<li>Aliquam vitae metus laoreet, dapibus enim sit amet, feugiat lorem. Sed in dui purus.</li>
</ul>
</div>
</blockquote>
Note Block
Used to add important info, warning sentences or highlight sentences. There are two styles you can try:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin vestibulum dignissim diam, et efficitur felis commodo et.
<p class='note'>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin vestibulum dignissim diam, et efficitur felis commodo et.</p>
With different colors:
Warning!
Mauris vel diam pellentesque lorem lacinia luctus. Nulla quam magna, pharetra in ultrices at, condimentum id tellus. Sed suscipit sapien sed turpis ultrices viverra.
<p class='note wr'>Mauris vel diam pellentesque lorem lacinia luctus. Nulla quam magna, pharetra in ultrices at, condimentum id tellus. Sed suscipit sapien sed turpis ultrices viverra.</p>
Table
Automatically has a scroll function when column length exceeds width of the viewport/screen area. Using tables is a bit more complicated in HTML, we recommend that you learn more about HTML tables before using them.
Sample table with real data:
Name | Position | Office | Age | Start date | Salary |
---|---|---|---|---|---|
Tiger Nixon | System Architect | Edinburgh | 61 | 2011/04/25 | $320,800 |
Garrett Winters | Accountant | Tokyo | 63 | 2011/07/25 | $170,750 |
Ashton Cox | Junior Technical Author | San Francisco | 66 | 2009/01/12 | $86,000 |
Cedric Kelly | Senior Javascript Developer | Edinburgh | 22 | 2012/03/29 | $433,060 |
Airi Satou | Accountant | Tokyo | 33 | 2008/11/28 | $162,700 |
<div class='table'>
<table style='white-space:nowrap; min-width:100%;'>
<thead>
<tr>
<th>Name</th>
<th>Position</th>
<th>Office</th>
<th>Age</th>
<th>Start date</th>
<th>Salary</th>
</tr>
</thead>
<tbody>
<tr>
<td>Tiger Nixon</td>
<td>System Architect</td>
<td>Edinburgh</td>
<td>61</td>
<td>2011/04/25</td>
<td>$320,800</td>
</tr>
<tr>
<td>Garrett Winters</td>
<td>Accountant</td>
<td>Tokyo</td>
<td>63</td>
<td>2011/07/25</td>
<td>$170,750</td>
</tr>
<tr>
<td>Ashton Cox</td>
<td>Junior Technical Author</td>
<td>San Francisco</td>
<td>66</td>
<td>2009/01/12</td>
<td>$86,000</td>
</tr>
<tr>
<td>Cedric Kelly</td>
<td>Senior Javascript Developer</td>
<td>Edinburgh</td>
<td>22</td>
<td>2012/03/29</td>
<td>$433,060</td>
</tr>
<tr>
<td>Airi Satou</td>
<td>Accountant</td>
<td>Tokyo</td>
<td>33</td>
<td>2008/11/28</td>
<td>$162,700</td>
</tr>
</tbody>
</table>
</div>
white-space:nowrap;
specifies the text to be a single line, it will not wrap to the next line and will continue until<br>
tag is encountered.min-width:100%;
defines the minimum width of table, you can change it to px units for example500px
. Change it to0
if you want the table width to be determined automatically.
Manual Table of Content
Contents
Using manual Table of Content is more complicated than the automatic version, you have to add a different ID attribute in each heading tag and write it in content list.
This is an example of heading tag with custom ID:
Before
<h2>Your_Heading</h2>
<h3>Sub_Heading_1</h3>
After
<h2 id='heading'>Your_Heading</h2>
<h3 id='subHeading'>Sub_Heading_1</h3>
Writing the correct content list:
<details class='sp toc' open=''>
<summary data-show='Show all' data-hide='Hide all'>Contents</summary>
<div class='toC'>
<ol>
<li><a href='#heading'>Your_Heading</a></li>
...
...
...
</ol>
<!--[ Sample ToC with subheading ]-->
<ol>
<li><a href='#heading'>Your_Heading</a>
<ol>
<li><a href='#subHeading'>Sub_Heading_1</a></li>
...
...
...
</ol>
</li>
</ol>
</div>
</details>
- Remove
open=''
attribute to auto-close Table of Content when the page is first loaded. - You can change the title or phrase 'Show all/Hide all' in the marked section.
Semi-automatic Table of Content
Table of Contents
The easiest option to display Table of Content. This feature will display all heading tags in your post (three levels h2
- h4
), so make sure you write heading tags in order. Read: Common Error
Code to specify semi-automatic ToC widget location:
<details class='sp toc'>
<summary data-show='Show all' data-hide='Hide all'>Table of Contents</summary>
<div class='toC' id='toContent'></div>
</details>
Add this script at the end of your post to enable semi-automatic ToC.
<!--[ Script to activate ToC ]-->
<script>document.addEventListener('DOMContentLoaded', () =>
new TableOfContents({
from: document.querySelector('#postBody'),
to: document.querySelector('#toContent')
}).generateToc()
);</script>
Syntax Highlighter
Used to define lines of computer code (HTML, CSS, Javascript, etc.) in posts.
<!--[ Change classname to html, css, or js ]-->
<div class='pre html'>
<pre style='white-space:pre-wrap; max-height:none;'>Your_code_is_here</pre>
</div>
Addition of color code in the syntax is written manually.
- Change classname
html
to define another code format, there are 3 options available, namely:html
,css
, andjs
. - Value
white-space:pre-wrap;
useful for disabling side scrolling, long code will be preserved and give a little scrolling function to keep it legible. max-height:none;
defines the maximum height of syntax isn't set (automatic), change the value ofnone
to eg400px
to specify the maximum height of syntax is only 400 pixels.- Use
<i class='red'>code_here</i>
to add red/orage color. - Use
<i class='blue'>code_here</i>
to add blue color. - Use
<i class='green'>code_here</i>
to add green color. - Use
<i class='gray'>code_here</i>
to add gray color. - Use
<i class='block'>code_here</i>
to add a block of blue color.
MultiTabs Syntax Highlighter
<!DOCTYPE html>
<html dir='ltr' lang='en'>
<head>
<title>Sample Page</title>
</head>
<!--[ <body> open ]-->
<body>
<p>Sample content here!</p>
</body>
<!--[ </body> close ]-->
</html>
/* Standar CSS */
::selection{color:#fff;background:var(--linkC)}
*, ::after, ::before{-webkit-box-sizing:border-box;box-sizing:border-box}
h1, h2, h3, h4, h5, h6{margin:0;font-weight:700;font-family:var(--fontH);color:var(--headC)}
h1{font-size:1.9rem}
h2{font-size:1.7rem}
h3{font-size:1.5rem}
h4{font-size:1.4rem}
h5{font-size:1.3rem}
h6{font-size:1.2rem}
a{color:var(--linkC);text-decoration:none}
a:hover{opacity:.9;transition:opacity .1s}
{
"@context": "https://schema.org",
"@type": "WebSite",
"url": "https://www.lantro-ui.eu.org/",
"name": "Lantro UI",
"alternateName": "Lantro UI",
"potentialAction": {
"@type": "SearchAction",
"target": "https://www.lantro-ui.eu.org/search?q={search_term_string}",
"query-input": "required name=search_term_string"
}
}
<div class='pre tb'>
<!--[ Active function ]-->
<input class='prei hidden' id='preT-1' type='radio' name='preTab' checked>
<input class='prei hidden' id='preT-2' type='radio' name='preTab'>
<input class='prei hidden' id='preT-3' type='radio' name='preTab'>
<!--[ Header/title ]-->
<div class='preH tbHd scrlH'>
<!--[ Change atribute data-text='...' to replace title ]-->
<label for='preT-1' data-text='HTML'></label>
<label for='preT-2' data-text='CSS'></label>
<label for='preT-3' data-text='JS'></label>
</div>
<!--[ Content ]-->
<div class='preC-1'>
<pre>Your_code_is_here</pre>
</div>
<div class='preC-2'>
<pre>Your_code_is_here</pre>
</div>
<div class='preC-3'>
<pre>Your_code_is_here</pre>
</div>
</div>
- Atribut
checked
mendefinisikan tab pertama yang muncul secara default. - Pastikan atribut
id='...'
danfor='...'
memiliki nilai yang sama. ID harus unik, tidak boleh ada dua ID yang sama dalam satu halaman. - Ubah atribut
data-text='HTML'
pada bagian yang ditandai untuk mengganti nama tab.
- The
checked
attribute defines the first tab that appears by default. - Make sure
id='...'
andfor='...'
attributes have the same value. ID must be unique, there cannot be two identical IDs in one page. - Change
data-text='HTML'
attribute in the highlighted section to rename the tab.
Toggle Show/Hide
Used to create interactive widgets that the user can open and close on demand. By default this widget is closed, will display the content in it when the user presses the command button.
Any content can be included in this widget.
Spoiler:
Epcot is a theme park at Walt Disney World Resort featuring exciting attractions, international pavilions, award-winning fireworks and seasonal special events.
<details class='sp'>
<summary data-show='Show all' data-hide='Hide all'>Spoiler:</summary>
<p>Your_text_is_here.</p>
</details>
Toggle Content or Accordion
Defines additional content that users can open and close on demand in groups, usually used for a list of questions or FAQs (Frequently Asked Questions).
Accordion_first_title
Epcot is a theme park at Walt Disney World Resort featuring exciting attractions, international pavilions, award-winning fireworks and seasonal special events.
Accordion_second_title
Epcot is a theme park at Walt Disney World Resort featuring exciting attractions, international pavilions, award-winning fireworks and seasonal special events.
Accordion_third_title (alt)
Epcot is a theme park at Walt Disney World Resort featuring exciting attractions, international pavilions, award-winning fireworks and seasonal special events.
Accordion_fourth_title (alt)
Epcot is a theme park at Walt Disney World Resort featuring exciting attractions, international pavilions, award-winning fireworks and seasonal special events.
<!--[ Accordion start ]-->
<div class='showH'>
<!--[ Accordion line 1 ]-->
<details class='ac'>
<summary>Title_is_here</summary>
<div class='aC'>
<p>Your_text_is_here.</p>
</div>
</details>
<!--[ Accordion line 2 ]-->
<details class='ac alt'>
<summary>Title_is_here</summary>
<div class='aC'>
<p>Your_text_is_here.</p>
</div>
</details>
...
...
</div>
- Use the classname
alt
(marked in the code above) to change the icon style. - The number of accordion widgets you can add is unlimited.
External Link
Notifies users if the link will lead to another site.
Sample_external_link<a class='extL' href='url_is_here' rel='noreferrer' target='_blank'>Title_link</a>
Button Link
Defines a clickable button.
Button<a class='button' href='url_is_here'>Title_link</a>
Alternative style:
Button<a class='button ln' href='url_is_here'>Title_link</a>
With icons:
DownloadDemo
<a class='button' href='url_is_here'><i class='icon dl'></i>Title_link</a>
<a class='button' href='url_is_here'><i class='icon demo'></i>Title_link</a>
with <svg>
icons:
Buy now!
<a class='button' href='url_is_here'>
<svg viewBox='0 0 64 64' style='fill:#fff; margin-right:12px;'><path d='M6.9,48.4c-0.4,1.5-0.8,3.3-1.3,5.2c-0.7,2.9,1.9,5.6,4.8,4.8l5.1-1.3c1.7-0.4,3.5-0.2,5.1,0.5 c4.7,2.1,10,3,15.6,2.1c12.3-1.9,22-11.9,23.5-24.2C62,17.3,46.7,2,28.5,4.2C16.2,5.7,6.2,15.5,4.3,27.8c-0.8,5.6,0,10.9,2.1,15.6 C7.1,44.9,7.3,46.7,6.9,48.4z M21.3,19.8c0.6-0.5,1.4-0.9,1.8-0.9s2.3-0.2,2.9,1.2c0.6,1.4,2,4.7,2.1,5.1c0.2,0.3,0.3,0.7,0.1,1.2 c-0.2,0.5-0.3,0.7-0.7,1.1c-0.3,0.4-0.7,0.9-1,1.2c-0.3,0.3-0.7,0.7-0.3,1.4c0.4,0.7,1.8,2.9,3.8,4.7c2.6,2.3,4.9,3,5.5,3.4 c0.7,0.3,1.1,0.3,1.5-0.2c0.4-0.5,1.7-2,2.2-2.7c0.5-0.7,0.9-0.6,1.6-0.3c0.6,0.2,4,1.9,4.7,2.2c0.7,0.3,1.1,0.5,1.3,0.8 c0.2,0.3,0.2,1.7-0.4,3.2c-0.6,1.6-2.1,3.1-3.2,3.5c-1.3,0.5-2.8,0.7-9.3-1.9c-7-2.8-11.8-9.8-12.1-10.3c-0.3-0.5-2.8-3.7-2.8-7.1 C18.9,22.1,20.7,20.4,21.3,19.8z'/></svg>
<span>WhatsApp me!</span>
</a>
<a class='button' href='url_is_here'>
<svg class='line' viewBox='0 0 24 24' style='stroke:#fff; margin-right:12px;'><g transform='translate(2.000000, 2.500000)'><path d='M0.7501,0.7499 L2.8301,1.1099 L3.7931,12.5829 C3.8701,13.5199 4.6531,14.2389 5.5931,14.2359094 L16.5021,14.2359094 C17.3991,14.2379 18.1601,13.5779 18.2871,12.6899 L19.2361,6.1319 C19.3421,5.3989 18.8331,4.7189 18.1011,4.6129 C18.0371,4.6039 3.1641,4.5989 3.1641,4.5989'></path><line x1='12.1251' y1='8.2948' x2='14.8981' y2='8.2948'></line><path d='M5.1544,17.7025 C5.4554,17.7025 5.6984,17.9465 5.6984,18.2465 C5.6984,18.5475 5.4554,18.7915 5.1544,18.7915 C4.8534,18.7915 4.6104,18.5475 4.6104,18.2465 C4.6104,17.9465 4.8534,17.7025 5.1544,17.7025 Z'></path><path d='M16.4347,17.7025 C16.7357,17.7025 16.9797,17.9465 16.9797,18.2465 C16.9797,18.5475 16.7357,18.7915 16.4347,18.7915 C16.1337,18.7915 15.8907,18.5475 15.8907,18.2465 C15.8907,17.9465 16.1337,17.7025 16.4347,17.7025 Z'></path></g></svg>
<span>Buy now!</span>
</a>
Add style='fill:#fff; margin-right:12px;'
or style='stroke:#fff; margin-right:12px;'
attribute to give SVG icon a white color.
Two button in single line:
<div class='btnF'>
<a class='button ln' href='url_is_here'>Demo</a>
<a class='button' href='url_is_here'><i class='icon dl'></i>Download</a>
</div>
Download Link
To provide downloaded file information to users.
<div class='dlBox'>
<!--[ Change data-text='...' atribute to add new file type ]-->
<span class='fT' data-text='zip'></span>
<div class='fN'>
<!--[ File name ]-->
<span>file_name.zip</span>
<span class='fS'>200kb</span>
</div>
<!--[ Download link (change href='...' atribute to add link download) ]-->
<a class='button' aria-label='Download' href='url_is_here' rel='noreferrer' target='_blank'><i class='icon dl'></i></a>
</div>
With background image instead of text:
<div class='dlBox'>
<!--[ Change data-text='...' atribute to add new file type ]-->
<span class='fT lazy' data-text='zip' data-style='background-image: url(//3.bp.blogspot.com/.../title.png)'></span>
<div class='fN'>
<!--[ File name ]-->
<span>about_me.png</span>
<span class='fS'>10kb</span>
</div>
<!--[ Download link (change href='...' atribute to add link download) ]-->
<a class='button' aria-label='Download' href='url_is_here' rel='noreferrer' target='_blank'><i class='icon dl'></i></a>
</div>
Music player
<div align="center">
<div class="player-STLH">
<div class="cover-PS">
<img alt="Song Poster" src="add_image_here" title="title_here">
</div>
<div class="info-MS">
<div class="title-MS">song_title_here</div>
<div class="singer-MS">creator_name_here</div>
</div>
<div class="volume-box">
<span class="volume-down"><i class="material-icons">remove</i></span>
<input type="range" class="volume-range" step="1" value="80" min="0" max="100"
oninput="music.volume = this.value/100">
<span class="volume-up"><i class="material-icons">add</i></span>
</div>
<div class="btn-box">
<i class="material-icons repeat" onclick="handleRepeat()">repeat</i>
<i class="material-icons favorite active" onclick="handleFavorite()">favorite</i>
<i class="material-icons volume" onclick="handleVolume()">volume_up</i>
</div>
<div class="music-box">
<input type="range" step="1" class="seekbar" value="0" min="0" max="100" oninput="handleSeekBar()">
<audio class="music-element">
<source src="song_src_here">
</audio>
<span class="current-time">0:0</span><span class="duration">0:0</span>
<span class="play" onclick="handlePlay()">
<i class="material-icons">play_arrow</i>
</span>
</div>
</div>
</div>
<link rel='stylesheet' href='https://fonts.googleapis.com/icon?family=Material+Icons'>
Lazy Youtube
Useful to delay loading Youtube videos after user scrolls the page.
<!--[ Lazy youtube ]-->
<div class='lazyYt' data-embed='Youtube_video_ID'>
<div class='play'>
<svg viewbox='0 0 213.7 213.7'><polygon class='t' points='73.5,62.5 148.5,105.8 73.5,149.1'></polygon><circle class='c' cx='106.8' cy='106.8' r='103.3'></circle></svg>
</div>
</div>
Delaying iframe loading with defer.js
function:
<!--[ Lazysize iframe ]-->
<div class='videoYt'>
<iframe title='Lazy Iframe' class='lazy' data-src='//www.youtube.com/embed/xxxxxxxxxxx' allow='accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture' allowfullscreen></iframe>
</div>
- Change the section marked with ID Youtube video you want to display.
- The video ID can be found in Youtube video url, for example:
youtube.com/watch?v=p5MY9CY5MOk
.
Post Reference
To write a list of references or footnotes below the post
Source:
www.jagodesain.com
<p class='pRef'>Source:<br> www.jagodesain.com</p>