惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The GitHub Blog
The GitHub Blog
阮一峰的网络日志
阮一峰的网络日志
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Apple Machine Learning Research
Apple Machine Learning Research
小众软件
小众软件
博客园 - 司徒正美
Last Week in AI
Last Week in AI
爱范儿
爱范儿
罗磊的独立博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园_首页
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
雷峰网
雷峰网
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
WordPress大学
WordPress大学
Jina AI
Jina AI
人人都是产品经理
人人都是产品经理
量子位
V
V2EX
博客园 - 叶小钗
宝玉的分享
宝玉的分享
T
Tailwind CSS Blog

jdhao's digital space

Conversion between base64 and OpenCV or PIL Image 腾讯云对象存储博客图床开启 CDN 加速(不需要购买额外域名) Search and Replace in Multiple Files in Vim/Neovim Change Table Column Width in LaTeX Image or Table Side by Side in LaTeX LaTeX 并排显示图像或表格 Firenvim: Neovim inside Your Browser Content inside HTML tags missing in Latest Hugo? Creating Markdown Front Matter with Ultisnips Labelme JSON 标注格式转 voc XML 格式 Nifty Nvim Techniques That Make My Life Easier -- Series 6 macOS 下如何为视频制作字幕 Running Command Asynchronously inside Neovim Resolving Merge Conflict after Git Stash Pop Pylint: command not found? A Hands-on Experience with Neovim's Built-in LSP Support How to Convert PDF to Images with Imagemagick 互联网上常用缩略语集锦 File Backup in Neovim Converting PDF Pages to Images with Poppler Nifty Nvim Techniques That Make My Life Easier -- Series 5 Neovim Configuration for System-wide Use How to sort a list of tuple or list in Python -- lambda or itemgetter? Building A Vim Statusline from Scratch 人类第一颗原子弹爆炸始末 Distributed Training in PyTorch with Horovod Learning Expect Programming Essential Knowledge about SSH Nifty LaTeX Techniques -- Series 1 更改 Adsense 邮寄地址,重新寄送 PIN
Markdown Writing Tricks
2020-06-01 · via jdhao's digital space
update log
  • 2022-02-08: Add sections on using CSS with Markdown.

In this post, I share some of the tricks that will Make the Markdown file better and more beautiful.

How to color text#

To color some text, we can use the font tag, which is deprecated in HTML5.

<font color="red">red text</font>

We can also use the span tag:

<span style="color:blue">this is blue text</span>.

To color entire paragraph, the p tag can be used:

<p style="color:red">This is a paragraph.</p>

How to center align image and set image size#

To center align image and set image size, we can combine the p tag and img tag:

<p align="center">
<img src="URL" width="800">
</p>

The above HTML code will center the image and also set its width to 800 pixels.

Create collapsible content#

Sometimes, it is handy to create some collapsible content to make the post concise. Like what is shown below.

Click to show the code.
import random

nums = list(range(100))
print(random.choices(nums, k=10))

We can use the detail tag to achieve this:

<details>
<summary><font size="2" color="red">Click to show the code.</font></summary>

```
import random

nums = list(range(100))
print(random.choices(nums, k=10))
```
</details>

Create anchor for text#

Sometimes, we want to anchor a position in the post so that when the reader click its reference, they will be brought to the referred position. This can be achieved by using anchor tag. For example, click here to go to first section.

The code to achieve this is:

# <a name="color_text"></a>How to color text?

click [here](#color_text) to go to first section.

This works both for Markdown headers and normal text in some Markdown flavor.

For some Markdown variant, to go to a header, remove all punctuations in the header title and turn all text in header to lowever case and replace space with -, click here to go to section 1.

Literal backticks in inline code or code blocks#

Backtick in ininlie code block#

To use backticks inside inline code blocks, we can use more backticks as the openning and closing inline code delimiter. For example, to produce foo`, use the following:

How to render three backticks in code blocks#

Since the usual delimiter for code block is three backticks, using three literal backticks inside the usual three-backtick code block will result in rendering problems.

To fix this problem we can use more backticks as the code block delimiter.

Style text with CSS#

To create stylish component in Markdown, we may need a little bit CSS. Below is a div element styled with CSS.

this is some demo text

We can use inline style or internal style to reproduce this effect.

Inline style#

Using style attribute inside a HTML tag. The code is:

<div style="color: #ff0000; background-color: #ffbaba; padding: 10px; border: 3px dashed; border-radius: 10px;">
    this is some demo text
</div>

Internal style#

We can also inline CSS in Markdown using HTML style tag. The code is:

<style>
.demo {
    color: #ff0000;
    background-color: #FFBABA;
    padding: 10px;
    border: 3px dashed;
    border-radius: 10px;
}
</style>

<div class="demo">
    this is some demo text
</div>

It will create exactly the same styled text.

Creat warning/info/success/error boxes#

Using the techniques discussed above. We can create beautiful text boxes with different styles.

Using inline style:

<div style="padding: 15px; border: 1px solid transparent; border-color: transparent; margin-bottom: 20px; border-radius: 4px; color: #3c763d; background-color: #dff0d8; border-color: #d6e9c6;">
I am a success message
</div>

<div style="padding: 15px; border: 1px solid transparent; border-color: transparent; margin-bottom: 20px; border-radius: 4px; color: #a94442; background-color: #f2dede; border-color: #ebccd1;">
I am an error message
</div>

<div style="padding: 15px; border: 1px solid transparent; border-color: transparent; margin-bottom: 20px; border-radius: 4px; color: #31708f; background-color: #d9edf7; border-color: #bce8f1;">
<strong>&#9432; Info:<br/></strong> I am a info message
</div>

<div style="padding: 15px; border: 1px solid transparent; border-color: transparent; margin-bottom: 20px; border-radius: 4px; color: #8a6d3b;; background-color: #fcf8e3; border-color: #faebcc;">
<strong>&#9888; Warning:<br/></strong> I am a warning message
</div>

The produced text boxes are like this:

Using internal style (ideas are from here):

<style type="text/css">
@import url('//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css');

.info-msg,
.success-msg,
.warning-msg,
.error-msg {
  margin: 5px 0;
  margin-bottom: 20px;
  padding: 10px;
  border-radius: 5px 5px 5px 5px;
  border: 2px solid transparent;
  border-color: transparent;
}
.info-msg {
  color: #059;
  background-color: #BEF;
}
.success-msg {
  color: #270;
  background-color: #DFF2BF;
}
.warning-msg {
  color: #9F6000;
  background-color: #FEEFB3;
}
.error-msg {
  color: #D8000C;
  background-color: #FFBABA;
}

</style>

<div class="info-msg">
  <i class="fa fa-info-circle"></i>
  This is an info message.
</div>

<div class="success-msg">
  <i class="fa fa-check"></i>
  This is a success message.
</div>

<div class="warning-msg">
  <i class="fa fa-warning"></i>
  This is a warning message.
</div>

<div class="error-msg">
  <i class="fa fa-times-circle"></i>
  This is a error message.
</div>

The produce text boxes are like:

References#