前言

洛谷的 Markdown 格式手册更新了,新增了一些 BCOI 不能直接实现的内容。这里是一些模拟。关联 blog : HTML 部分标签


居中显示

这用 HTML 的 <center> 就能完全实现。例如:

<center>
<img src="https://www.bcoi.cn/nav_logo_dark.png">

鸡你太美
</center>

显示效果为:

鸡你太美

居右显示

这可以根据 HTML 标签 <p> 实现。例如:

<p align="right">
<img src="https://www.bcoi.cn/nav_logo_dark.png">
</p>
<p align="right">
鸡你太美
</p>

显示效果为:

鸡你太美

引言

这是洛谷中引言的效果:

目前只能想到 <p> 标签了。例如:

<p align="right">大家好啊,我是说的道理,今天来点大家想看的东西。</p>
<p align="right">—————————————————————————</p>
<p align="right">——otto</p>

显示效果为:

大家好啊,我是说的道理,今天来点大家想看的东西。

—————————————————————————

——otto

非常不兼容,非常不格式化。

折叠框

这是洛谷折叠框的效果:

这个只能用 HTML 来简单实现了。例如:

<details>
<summary >折叠框</summary>

  鸡你太美
  
</details>

显示效果为:

折叠框

鸡你太美

也可以设置默认展开。例如:

<details open>
<summary >折叠框</summary>

  鸡你太美
  
</details>
折叠框

鸡你太美

也可以利用 <font> 标签改变颜色。例如:

<font color='red'>
<details open>
<summary > 警告</summary>
  
  鸡你太美
   
</details>
</font>

显示效果为:

警告

鸡你太美

如果你追求完美:

<blockquote>
<font color='red'>
<details open>
<summary > <strong>错误</strong></summary>
  <h1></h1>
  <font color='black'>
  鸡你太美
  </font>
  
</details>
</font>
</blockquote>

显示效果为:

错误

鸡你太美

对于三角形的形状也无能为力了。可以用下面这些颜色改变 <font> 中的 'red' :

  1. 默认,蓝 : #3498db
  2. 正确,绿: #52c41a
  3. 警告,黄: #ffc116
  4. 错误,红: #e74c3c

但这也有好处:你可以任意改变颜色。

代码显示行号及高亮

Markdown 版本

实际上,HydroOJ 也支持使用 Markdown 实现代码块的代码高亮及表行。格式:

```cpp|2,3|line-numbers
#include <iostream>
using namespace std;
int main()
{
	
	return 0;
}
```

显示效果为:

#include <iostream>
using namespace std;
int main()
{
	
	return 0;
}

具体信息请看下面 HTML 版本。

默认格式

<pre>
<code class="language-cpp">#include &lt;iostream&gt;
using namespace std;
int main()
{
	
	return 0;
}</code>
</pre>

显示效果为:

#include <iostream>
using namespace std;
int main()
{
	
	return 0;
}

注意头文件要改为 &lt;文件名&gt; ,否则会识别为 HTML 标签,然后隐藏。

可以等同为:

```cpp
#include <iostream>
using namespace std;
int main()
{
	
	return 0;
}
```

自动改头文件

  1. 保存下面的代码;
  2. 在代码同目录下建立一个 code.in 文件;
  3. code.in 中放你要改格式的代码;
  4. 运行代码;
  5. 此时该代码目录下会增加一个 code.out 文件,这就是已经改格式后的代码。
#include <iostream>
using namespace std;
int main()
{
	freopen("code.in", "r", stdin);
	freopen("code.out", "w", stdout);
	
	string line;
	getline(cin, line);
	while (getline(cin, line))
	{
		for (char ch : line)
		{
			if (ch == '<')cout << "&lt;";
			else if (ch == '>')cout << "&gt;";
			else cout << ch;
		}
		cout << "\n";
	}
	return 0;
}

增加行号、高亮

例如:

<code class="language-cpp">#include <iostream>
using namespace std;
int main()
{
	
	return 0;
}</code>
</pre>

只需要把上面的第一行的 language-cpp ,格式改为:

<code class="language-语言ID|高亮行号,英文逗号隔开|line-numbers">
  代码
</code>

例如:

<pre>
<code class="language-cpp|2,3|line-numbers">#include &lt;iostream&gt;
using namespace std;
int main()
{
	
	return 0;
}</code>
</pre>

显示效果为:

#include <iostream>
using namespace std;
int main()
{
	
	return 0;
}