data/pandoc.lua: fix attribute names of Citation
The fields were named like the Haskell fields, not like the documented, shorter version. The names are changed to match the documentation and Citations are given a shared metatable to enable simple extensibility. Fixes: #4222
This commit is contained in:
parent
856bc54526
commit
4f564b9203
2 changed files with 21 additions and 19 deletions
|
@ -764,6 +764,8 @@ M.Attr.__newindex = function(t, k, v)
|
|||
end
|
||||
setmetatable(M.Attr, M.Attr)
|
||||
|
||||
-- Citation
|
||||
M.Citation = {}
|
||||
|
||||
--- Creates a single citation.
|
||||
-- @function Citation
|
||||
|
@ -773,20 +775,20 @@ setmetatable(M.Attr, M.Attr)
|
|||
-- @tparam[opt] {Inline,...} suffix citation suffix
|
||||
-- @tparam[opt] int note_num note number
|
||||
-- @tparam[opt] int hash hash number
|
||||
M.Citation = function(id, mode, prefix, suffix, note_num, hash)
|
||||
prefix = prefix or {}
|
||||
suffix = suffix or {}
|
||||
note_num = note_num or 0
|
||||
hash = hash or 0
|
||||
return {
|
||||
citationId = id,
|
||||
citationPrefix = prefix,
|
||||
citationSuffix = suffix,
|
||||
citationMode = mode,
|
||||
citationNoteNum = note_num,
|
||||
citationHash = hash,
|
||||
}
|
||||
M.Citation.__call = function(t, id, mode, prefix, suffix, note_num, hash)
|
||||
return setmetatable(
|
||||
{
|
||||
id = id,
|
||||
mode = mode,
|
||||
prefix = prefix or {},
|
||||
suffix = suffix or {},
|
||||
note_num = note_num or 0,
|
||||
hash = hash or 0,
|
||||
},
|
||||
t
|
||||
)
|
||||
end
|
||||
setmetatable(M.Citation, M.Citation)
|
||||
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
|
|
@ -84,12 +84,12 @@ instance ToLuaStack Citation where
|
|||
|
||||
instance FromLuaStack Citation where
|
||||
peek idx = do
|
||||
id' <- getTable idx "citationId"
|
||||
prefix <- getTable idx "citationPrefix"
|
||||
suffix <- getTable idx "citationSuffix"
|
||||
mode <- getTable idx "citationMode"
|
||||
num <- getTable idx "citationNoteNum"
|
||||
hash <- getTable idx "citationHash"
|
||||
id' <- getTable idx "id"
|
||||
prefix <- getTable idx "prefix"
|
||||
suffix <- getTable idx "suffix"
|
||||
mode <- getTable idx "mode"
|
||||
num <- getTable idx "note_num"
|
||||
hash <- getTable idx "hash"
|
||||
return $ Citation id' prefix suffix mode num hash
|
||||
|
||||
instance ToLuaStack Alignment where
|
||||
|
|
Loading…
Reference in a new issue