Template:Codesample
Script error: No such module "Uses TemplateStyles". <templatedata> { "params": { "code": { "aliases": [ "1" ], "label": "Code", "description": "Code sample to render", "type": "string", "required": true }, "lang": { "label": "Programming language", "description": "Name of lexer to use for highlighting", "example": "shell-session", "type": "string", "default": "text", "suggested": true }, "name": { "label": "Title", "description": "Title (name) of this code sample. Often a filename", "type": "string", "suggested": true }, "highlight": { "label": "Highlighted lines", "description": "Line(s) in example to highlight. Comma separated list of line numbers", "type": "string" }, "line": { "label": "Show line numbers", "description": "Enable line numbers for sample", "type": "boolean" }, "start": { "label": "Starting line number", "description": "Starting line number when line numbers are shown. Note: Does not effect line numbers used for highlights.", "type": "number", "default": "1" }, "scheme": { "label": "Color scheme", "description": "Color scheme to use. \"dark\" and \"light\" will apply solarized color schemes. Anything else will use syntaxhighlight extension defaults.", "type": "string", "default": "dark" } }, "description": "This template augments a <syntaxhighlight> block with fancy colors and an optional title", "paramOrder": [ "name", "lang", "code", "highlight", "line", "start", "scheme" ], "format": "block" } </templatedata>
Examples
{{Codesample |echo "hello world!"}} |
echo "hello world!"
|
{{Codesample |echo "hello world!" |lang=text |scheme=light}} |
echo "hello world!"
|
{{Codesample |$ echo "hello world!" |lang=shell-session |scheme=dark}} |
$ echo "hello world!"
|
{{Codesample |code=<nowiki>{{Codesample}}</nowiki> |lang=wikitext}} |
{{Codesample}}
|
{{Codesample |name=ingress.yaml |lang=yaml |scheme=dark |line=1 |highlight=5,8 |code= --- apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata: name: foo-redirect namespace: tool-foo labels: name: foo-redirect annotations: kubernetes.io/ingress.class: nginx }} |
ingress.yaml ---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: foo-redirect
namespace: tool-foo
labels:
name: foo-redirect
annotations:
kubernetes.io/ingress.class: nginx
|
{{Codesample |name=metadata |lang=yaml |scheme=light |line=1 |start=5 |highlight=1,4 |code= name: foo-redirect namespace: tool-foo labels: name: foo-redirect annotations: kubernetes.io/ingress.class: nginx }} |
metadata name: foo-redirect
namespace: tool-foo
labels:
name: foo-redirect
annotations:
kubernetes.io/ingress.class: nginx
|
Adding a new color scheme
The scheme=...
parameter will load a css sub-page to add styles matching the Pygments markup definitions. The easiest way to introduce a new scheme is to export it from Pygments itself: pygmentize -f html -S $style -a .wt-codesample-${style}
.
See also
- {{Code}}
- {{Inline-code}}
- {{Codesample}}
- {{Terminal}}