summaryrefslogtreecommitdiff
path: root/paper/lua-filters/abstract-to-meta/abstract-to-meta.lua
diff options
context:
space:
mode:
Diffstat (limited to 'paper/lua-filters/abstract-to-meta/abstract-to-meta.lua')
-rw-r--r--paper/lua-filters/abstract-to-meta/abstract-to-meta.lua23
1 files changed, 23 insertions, 0 deletions
diff --git a/paper/lua-filters/abstract-to-meta/abstract-to-meta.lua b/paper/lua-filters/abstract-to-meta/abstract-to-meta.lua
new file mode 100644
index 0000000..dbf9b03
--- /dev/null
+++ b/paper/lua-filters/abstract-to-meta/abstract-to-meta.lua
@@ -0,0 +1,23 @@
+local looking_at_abstract = false
+local abstract = {}
+
+function Block (elem)
+ if looking_at_abstract then
+ abstract[#abstract + 1] = elem
+ return {}
+ end
+end
+
+function Header (elem)
+ if elem.level == 1 and elem.identifier == 'abstract' then
+ looking_at_abstract = true
+ return {}
+ else
+ looking_at_abstract = looking_at_abstract and elem.level ~= 1
+ end
+end
+
+function Meta (meta)
+ meta.abstract = meta.abstract or pandoc.MetaBlocks(abstract)
+ return meta
+end