EmGitHub

用于将 GitHub 源文件嵌入 Markdown 内容的短代码。

语法

1{{< emgithub >}}

参数

owner

索引名称类型必填默认值版本
#0ownerstring--

仓库所有者。

repo

索引名称类型必填默认值版本
#1repostring--

仓库名称。

file

索引名称类型必填默认值版本
#2filestring--

文件名。

branch

索引名称类型必填默认值版本
-branchstring-main-

分支名称。

style

索引名称类型必填默认值版本
-stylestring-default-

渲染样式。

可选项:default, a11y-dark, a11y-light, agate, an-old-hope, androidstudio, arduino-light, arta, ascetic, atom-one-dark, atom-one-dark-reasonable, atom-one-light, brown-paper, codepen-embed, color-brewer, dark, devibeans, docco, far, felipec, foundation, github, github-dark, github-dark-dimmed, gml, googlecode, gradient-dark, gradient-light, grayscale, hybrid, idea, intellij-light, ir-black, isbl-editor-dark, isbl-editor-light, kimbie-dark, kimbie-light, lightfair, lioshi, magula, mono-blue, monokai, monokai-sublime, night-owl, nnfx-dark, nnfx-light, nord, obsidian, panda-syntax-dark, panda-syntax-light, paraiso-dark, paraiso-light, pojoaque, purebasic, qtcreator-dark, qtcreator-light, rainbow, routeros, school-book, shades-of-purple, srcery, stackoverflow-dark, stackoverflow-light, sunburst, tokyo-night-dark, tokyo-night-light, tomorrow-night-blue, tomorrow-night-bright, vs, vs2015, xcode, xt256, base16/3024, base16/apathy, base16/apprentice, base16/ashes, base16/atelier-cave, base16/atelier-cave-light, base16/atelier-dune, base16/atelier-dune-light, base16/atelier-estuary, base16/atelier-estuary-light, base16/atelier-forest, base16/atelier-forest-light, base16/atelier-heath, base16/atelier-heath-light, base16/atelier-lakeside, base16/atelier-lakeside-light, base16/atelier-plateau, base16/atelier-plateau-light, base16/atelier-savanna, base16/atelier-savanna-light, base16/atelier-seaside, base16/atelier-seaside-light, base16/atelier-sulphurpool, base16/atelier-sulphurpool-light, base16/atlas, base16/bespin, base16/black-metal, base16/black-metal-bathory, base16/black-metal-burzum, base16/black-metal-dark-funeral, base16/black-metal-gorgoroth, base16/black-metal-immortal, base16/black-metal-khold, base16/black-metal-marduk, base16/black-metal-mayhem, base16/black-metal-nile, base16/black-metal-venom, base16/brewer, base16/bright, base16/brogrammer, base16/brush-trees, base16/brush-trees-dark, base16/chalk, base16/circus, base16/classic-dark, base16/classic-light, base16/codeschool, base16/colors, base16/cupcake, base16/cupertino, base16/danqing, base16/darcula, base16/dark-violet, base16/darkmoss, base16/darktooth, base16/decaf, base16/default-dark, base16/default-light, base16/dirtysea, base16/dracula, base16/edge-dark, base16/edge-light, base16/eighties, base16/embers, base16/equilibrium-dark, base16/equilibrium-gray-dark, base16/equilibrium-gray-light, base16/equilibrium-light, base16/espresso, base16/eva, base16/eva-dim, base16/flat, base16/framer, base16/fruit-soda, base16/gigavolt, base16/github, base16/google-dark, base16/google-light, base16/grayscale-dark, base16/grayscale-light, base16/green-screen, base16/gruvbox-dark-hard, base16/gruvbox-dark-medium, base16/gruvbox-dark-pale, base16/gruvbox-dark-soft, base16/gruvbox-light-hard, base16/gruvbox-light-medium, base16/gruvbox-light-soft, base16/hardcore, base16/harmonic16-dark, base16/harmonic16-light, base16/heetch-dark, base16/heetch-light, base16/helios, base16/hopscotch, base16/horizon-dark, base16/horizon-light, base16/humanoid-dark, base16/humanoid-light, base16/ia-dark, base16/ia-light, base16/icy-dark, base16/ir-black, base16/isotope, base16/kimber, base16/london-tube, base16/macintosh, base16/marrakesh, base16/materia, base16/material, base16/material-darker, base16/material-lighter, base16/material-palenight, base16/material-vivid, base16/mellow-purple, base16/mexico-light, base16/mocha, base16/monokai, base16/nebula, base16/nord, base16/nova, base16/ocean, base16/oceanicnext, base16/one-light, base16/onedark, base16/outrun-dark, base16/papercolor-dark, base16/papercolor-light, base16/paraiso, base16/pasque, base16/phd, base16/pico, base16/pop, base16/porple, base16/qualia, base16/railscasts, base16/rebecca, base16/ros-pine, base16/ros-pine-dawn, base16/ros-pine-moon, base16/sagelight, base16/sandcastle, base16/seti-ui, base16/shapeshifter, base16/silk-dark, base16/silk-light, base16/snazzy, base16/solar-flare, base16/solar-flare-light, base16/solarized-dark, base16/solarized-light, base16/spacemacs, base16/summercamp, base16/summerfruit-dark, base16/summerfruit-light, base16/synth-midnight-terminal-dark, base16/synth-midnight-terminal-light, base16/tango, base16/tender, base16/tomorrow, base16/tomorrow-night, base16/twilight, base16/unikitty-dark, base16/unikitty-light, base16/vulcan, base16/windows-10, base16/windows-10-light, base16/windows-95, base16/windows-95-light, base16/windows-high-contrast, base16/windows-high-contrast-light, base16/windows-nt, base16/windows-nt-light, base16/woodland, base16/xcode-dusk, base16/zenburn

type

索引名称类型必填默认值版本
-typestring-markdown-

可选项:markdown, code, ipynb

border

索引名称类型必填默认值版本
-borderboolean-true-

是否带有边框。

lineNumbers

索引名称类型必填默认值版本
-lineNumbersboolean-true-

是否显示行号。

fileMeta

索引名称类型必填默认值版本
-fileMetaboolean-true-

是否显示文件元信息。

fullPath

索引名称类型必填默认值版本
-fullPathboolean-true-

是否于元信息处显示完整路径。

copyButton

索引名称类型必填默认值版本
-copyButtonboolean-true-

是否显示复制按钮。

jsDelivr

索引名称类型必填默认值版本
-jsDelivrboolean-false-

是否通过 jsDelivr 而非 GitHub 仓库读取原始文件,更快但可能存在缓存问题(新改动可能无法实时反馈)。

调整样式

如果它嵌入到目标网页时看起来很奇怪,你需要调整样式。详情请参阅 get started 一节。

站点参数

你还可以调整默认的参数。

hugo.yaml

 1params:
 2  emgithub:
 3    border: true
 4    branch: main
 5    copy_button: true
 6    endpoint: https://emgithub.com/embed-v2.js
 7    file_meta: true
 8    full_path: true
 9    js_delivr: false
10    line_numbers: true
11    style: default
12    type: markdown

hugo.toml

 1[params]
 2  [params.emgithub]
 3    border = true
 4    branch = 'main'
 5    copy_button = true
 6    endpoint = 'https://emgithub.com/embed-v2.js'
 7    file_meta = true
 8    full_path = true
 9    js_delivr = false
10    line_numbers = true
11    style = 'default'
12    type = 'markdown'

hugo.json

 1{
 2   "params": {
 3      "emgithub": {
 4         "border": true,
 5         "branch": "main",
 6         "copy_button": true,
 7         "endpoint": "https://emgithub.com/embed-v2.js",
 8         "file_meta": true,
 9         "full_path": true,
10         "js_delivr": false,
11         "line_numbers": true,
12         "style": "default",
13         "type": "markdown"
14      }
15   }
16}

示例

Markdown 示例

1{{< emgithub
2  owner="hugomods"
3  repo="shortcodes"
4  file="README.md"
5>}}

原始代码示例

1{{< emgithub
2  owner=hugomods
3  repo=shortcodes
4  file="hugo.toml"
5  type=code
6>}}