mirror of
https://github.com/hugo-fixit/FixIt.git
synced 2026-08-24 15:28:57 +00:00
228 lines
4.9 KiB
Markdown
228 lines
4.9 KiB
Markdown
---
|
|
title: Code Block Test
|
|
date: 2025-11-28T15:16:35+08:00
|
|
collections:
|
|
- Tests
|
|
categories:
|
|
- Markdown
|
|
tags:
|
|
- Code Block
|
|
---
|
|
|
|
Testing code block in FixIt theme.
|
|
|
|
<!--more-->
|
|
<!-- markdownlint-disable-file blanks-around-lists ul-style ul-indent code-block-style -->
|
|
|
|
```fixit
|
|
🎉🥚 in development mode!
|
|
```
|
|
|
|
## Multiple modes
|
|
|
|
```js {mode="classic"}
|
|
// Classic mode
|
|
function add(a, b) {
|
|
return a + b
|
|
}
|
|
```
|
|
|
|
```js {mode="mac"}
|
|
// Mac mode
|
|
function add(a, b) {
|
|
return a + b
|
|
}
|
|
```
|
|
|
|
```js {mode="simple"}
|
|
// Simple mode
|
|
function add(a, b) {
|
|
return a + b
|
|
}
|
|
```
|
|
|
|
## Code title
|
|
|
|
```{title="Quine Clock"}
|
|
(r=()=>setInterval(t=>{for(j=o="\n",y=5;y--;document.body["inn"
|
|
+"erHTML"]="<pre><"+(S="script>\n")+o+"\n\n</"+S)for(x=-01;
|
|
63-!y>x++;o+=`(r=${r})()`[j++].fontcolor(c?'#FF0':"#444"))c=x/2
|
|
%4<3&&parseInt("odRFacb67o2vi5gmOZmwFNteohbOh3sw".slice(i="9"<(
|
|
D=Date()[16+(x/8|0)])?30:D*3,i+3),36)&1<<(x/2|0)%4+3*y},100))()
|
|
```
|
|
|
|
## Code File Name
|
|
|
|
```js {name="hello.js"}
|
|
function hello(x = 'world') {
|
|
console.log(`Hello, ${x}!`)
|
|
}
|
|
|
|
hello()
|
|
// Hello, world!
|
|
hello('FixIt')
|
|
// Hello, FixIt!
|
|
```
|
|
|
|
## Collapsed/Expanded
|
|
|
|
```
|
|
eval(z = 'p="<"+"pre>"/* ,.oq#+ ,._, */;for(y in n="zw24l6k\
|
|
4e3t4jnt4qj24xh2 x/* =<,m#F^ A W###q. */42kty24wrt413n243n\
|
|
9h243pdxt41csb yz/* #K q##H######Am */43iyb6k43pk7243nm\
|
|
r24".split(4)){/* dP cpq#q##########b, */for(a in t=pars\
|
|
eInt(n[y],36)+/* p##@###YG=[#######y */(e=x=r=[]))for\
|
|
(r=!r,i=0;t[a/* d#qg `*PWo##q#######D */]>i;i+=.05)wi\
|
|
th(Math)x-= /* aem1k.com Q###KWR#### W[ */.05,0>cos(o=\
|
|
new Date/1e3/* .Q#########Md#.###OP A@ , */+x/PI)&&(e[~\
|
|
~(32*sin(o)*/* , (W#####Xx######.P^ T % */sin(.5+y/7))\
|
|
+60] =-~ r);/* #y `^TqW####P###BP */for(x=0;122>\
|
|
x;)p+=" *#"/* b. OQ####x#K */[e[x++]+e[x++\
|
|
]]||(S=("eval"/* l `X#####D , */+"(z=\'"+z.spl\
|
|
it(B = "\\\\")./* G####B" # */join(B+B).split\
|
|
(Q="\'").join(B+Q/* VQBP` */)+Q+")//m1k")[x/2\
|
|
+61*y-1]).fontcolor/* TP */(/\\w/.test(S)&&"#\
|
|
03B");document.body.innerHTML=p+=B+"\\n"}setTimeout(z)')//
|
|
```
|
|
|
|
````md
|
|
```lang {.is-collapsed}
|
|
// This code block will be collapsed by default.
|
|
```
|
|
````
|
|
|
|
````md
|
|
```lang {.is-expanded}
|
|
// This code block will be expanded regardless of its length.
|
|
```
|
|
````
|
|
|
|
## No wrapper
|
|
|
|
Set `wrapper=false` to disable code wrapper.
|
|
|
|
```js {wrapper=false}
|
|
function add(a, b) {
|
|
return a + b
|
|
}
|
|
```
|
|
|
|
```js {wrapper=false, lineNos=false}
|
|
function add(a, b) {
|
|
return a + b
|
|
}
|
|
```
|
|
|
|
## lineNos=false
|
|
|
|
```js {lineNos=false}
|
|
function add(a, b) {
|
|
return a + b
|
|
}
|
|
```
|
|
|
|
## lineNumbersInTable=false
|
|
|
|
> [!WARNING]
|
|
> Not recommended!
|
|
|
|
```js {lineNumbersInTable=false}
|
|
function add(a, b) {
|
|
return a + b
|
|
}
|
|
```
|
|
|
|
## Diff Code
|
|
|
|
```diff
|
|
- theme = "LoveIt"
|
|
+ theme = "FixIt"
|
|
! enhancements and fixes
|
|
```
|
|
|
|
## Long Code
|
|
|
|
```html
|
|
<p>Lorem ipsum dolor sit amet, graecis denique ei vel, at duo primis mandamus. Et legere ocurreret pri, animal tacimates complectitur ad cum. Cu eum inermis inimicus efficiendi. Labore officiis his ex, soluta officiis concludaturque ei qui, vide sensibus vim ad.</p>
|
|
```
|
|
|
|
<p>Lorem ipsum dolor sit amet, graecis denique ei vel, at duo primis mandamus. Et legere ocurreret pri, animal tacimates complectitur ad cum. Cu eum inermis inimicus efficiendi. Labore officiis his ex, soluta officiis concludaturque ei qui, vide sensibus vim ad.</p>
|
|
|
|
## Code block inside other blocks
|
|
|
|
> [!NOTE]+
|
|
>
|
|
> ```js {mode="classic"}
|
|
> function add(a, b) {
|
|
> return a + b
|
|
> }
|
|
> ```
|
|
|
|
{{< typeit code=java >}}
|
|
public class HelloWorld {
|
|
public static void main(String []args) {
|
|
System.out.println("Hello World");
|
|
}
|
|
}
|
|
{{< /typeit >}}
|
|
|
|
{{< details "Code Block inside Details" >}}
|
|
|
|
```js {mode="classic"}
|
|
function add(a, b) {
|
|
return a + b
|
|
}
|
|
```
|
|
|
|
{{< /details >}}
|
|
|
|
## Highlighting
|
|
|
|
Highlighting in code fences is enabled by default.
|
|
|
|
```js {linenostart=287,hl_lines=[2,"8-10"]}
|
|
/**
|
|
* check if a string is a JS object string
|
|
* @example isObjectLiteral("{a:1,b:2}") // true
|
|
* @param {string} str string to check
|
|
* @returns {boolean} whether the string is a JS object string
|
|
*/
|
|
function isObjectLiteral(str) {
|
|
if (typeof str !== 'string') {
|
|
return false
|
|
}
|
|
str = str.replace(/\s+/g, ' ').trim().replace(/;$/, '')
|
|
if (str.startsWith('{') && str.endsWith('}')) {
|
|
return true
|
|
}
|
|
return false
|
|
}
|
|
```
|
|
|
|
Highlighting in shortcode highlight.
|
|
|
|
{{< highlight javascript "hl_lines=2 8-10,linenostart=287" >}}
|
|
/**
|
|
* check if a string is a JS object string
|
|
* @example isObjectLiteral("{a:1,b:2}") // true
|
|
* @param {string} str string to check
|
|
* @returns {boolean} whether the string is a JS object string
|
|
*/
|
|
function isObjectLiteral(str) {
|
|
if (typeof str !== 'string') {
|
|
return false
|
|
}
|
|
str = str.replace(/\s+/g, ' ').trim().replace(/;$/, '')
|
|
if (str.startsWith('{') && str.endsWith('}')) {
|
|
return true
|
|
}
|
|
return false
|
|
}
|
|
{{< /highlight >}}
|
|
|
|
## Gist Embed
|
|
|
|
{{< env "production" >}}
|
|
{{< gist Lruihao fb8b2d0353465c4d40bf74818db80710 >}}
|
|
{{< /env >}}
|