Code-fenced source blocks
tags: src-block code-fence
Description/Summary
Here the source blocks are explicitly set to be code-fenced by setting the EXPORT_HUGO_CODE_FENCE property to t. Here are few variables that you might like to change in the local.mk: prefix Org installation directory prefix = /dir/where/you/want/to/install/org # Default: /usr/share The .el files will go to $(prefix)/emacs/site-lisp/org by default. If you’d like to change that, you can tweak the lispdir variable. infodir Org Info installation directory. I like to keep the Info file for development version of Org in a separate directory.
Content
Here the source blocks are explicitly set to be code-fenced by setting
the EXPORT_HUGO_CODE_FENCE
property to t
.
Here are few variables that you might like to change in the local.mk
:
prefix
- Org installation directory
prefix = /dir/where/you/want/to/install/org # Default: /usr/share
The
.el
files will go to$(prefix)/emacs/site-lisp/org
by default. If you’d like to change that, you can tweak thelispdir
variable. infodir
- Org Info installation directory. I like to keep the
Info file for development version of Org in a separate
directory.
infodir = $(prefix)/org/info # Default: $(prefix)/info
ORG_MAKE_DOC
- Types of Org documentation you’d like to build by
default.
# Define below you only need info documentation, the default includes html and pdf ORG_MAKE_DOC = info pdf card # html
ORG_ADD_CONTRIB
- Packages from the
contrib/
directory that you’d like to build along with Org. Below are the ones on my must-have list.# Define if you want to include some (or all) files from contrib/lisp # just the filename please (no path prefix, no .el suffix), maybe with globbing # org-eldoc - Heading breadcrumb trail in minibuffer # ox-extra - Allow ignoring just the heading, but still export the body of those headings # org-mime - Convert org buffer to htmlized format for email ORG_ADD_CONTRIB = org-eldoc ox-extra org-mime
Here’s an example of an emacs-lisp
block:
(defvar emacs-version-short (format "%s_%s"
emacs-major-version emacs-minor-version)
"A variable to store the current emacs versions as <MAJORVER>_<MINORVER>.
So, for emacs version 25.0.50.1, this variable will be 25_0.")
Here’s an example of a python
block (ox-hugo
Issue #314):
import itertools as it
import numpy as np
def permanent(m):
nr,nc = np.shape(m)
if nr != nc:
raise ValueError("Matrix must be square")
pm = 0
for p in it.permutations(range(nr)):
pm += np.product([m[i,p[i]] for i in range(nr)])
return pm
It is necessary to set the Hugo site config variable
markup.highlight.codeFences
to true
(default) for syntax
highlighting to work for fenced code blocks.
Page (Debug)
Page Variable | Value | |
---|---|---|
Name | "Code-fenced source blocks" | |
Title | "Code-fenced source blocks" | |
ResourceType | "page" | |
Kind | "page" | |
Section | "posts" | |
Draft | false | |
Type | "posts" | |
Layout | "" | |
Permalink | "https://ox-hugo.scripter.co/test/posts/code-fenced-src-blocks/" | |
RelPermalink | "/posts/code-fenced-src-blocks/" | |
Data |
| |
NextPage | Source blocks with Hugo highlight shortcode | |
PrevPage | Table with borders and rule after first | |
NextInSection | Source blocks with Hugo highlight shortcode | |
PrevInSection | Table with borders and rule after first |
Page Params (Debug)
Key | Type | Value |
---|---|---|
date | time.Time | 2017-07-13 17:49:22 -0400 -0400 |
draft | bool | false |
iscjklanguage | bool | false |
lastmod | time.Time | 2022-05-27 12:20:31 -0400 -0400 |
publishdate | time.Time | 2017-07-13 17:49:22 -0400 -0400 |
tags | []string | "src-block" "code-fence" |
title | string | "Code-fenced source blocks" |
File Object (Debug)
FileInfo Variable | Value |
---|---|
UniqueID | "d385e73a4f684ee276dda6079f5196a6" |
BaseFileName | "code-fenced-src-blocks" |
TranslationBaseName | "code-fenced-src-blocks" |
Lang | "en" |
Section | "posts" |
LogicalName | "code-fenced-src-blocks.md" |
Dir | "posts/" |
Ext | "md" |
Path | "posts/code-fenced-src-blocks.md" |