Module:PublicationShowAbstract: Difference between revisions
From MaRDI portal
No edit summary |
No edit summary |
||
| Line 61: | Line 61: | ||
['margin'] = '10px 0', | ['margin'] = '10px 0', | ||
}) | }) | ||
-- Add inline heading and text | |||
box:tag('span') | box:tag('span') | ||
:tag('strong') | :tag('strong') | ||
:wikitext('Abstract: ') | :wikitext('Abstract: ') | ||
:done() | :done() | ||
:wikitext(abstract) | |||
:wikitext( | |||
return tostring(box) .. '<br>' | return tostring(box) .. '<br>' | ||
Revision as of 11:00, 14 April 2025
Documentation for this module may be created at Module:PublicationShowAbstract/doc
-- Required module containing helper methods
local helper = require('Module:HelperMethods')
-- Required modules for SPARQL queries and HTML table generation
local sparql = require('SPARQL')
local mwHtml = require('mw.html')
local p = {}
function p.queryAbstractDB(QID)
local abstract = ""
if not QID or QID == '' then
return abstract
end
local safeID = tostring(QID):gsub("^Q", "")
mw.log(safeID)
local row = mw.ext.externaldata.getDbData {
db = "AbstractDB",
parameters = safeID
}
-- mw.log( row )
if row then
abstract = row.abstract
-- mw.log( abstract )
end
return abstract
end
function p.getAbstractForPaperQID(frame)
-- Retrieve target1 from frame arguments or return error message if not set
local target1 = frame.args[1]
if not target1 or target1 == '' then
return "No records found"
end
local abstract = p.queryAbstractDB(target1)
-- mw.log(abstract)
if not abstract or abstract == '' then
return ""
end
-- Create container div
local box = mwHtml.create('div')
:addClass('abstract-box')
:css({
['border'] = '1px solid #ccc',
['border-radius'] = '8px',
['padding'] = '10px',
['background-color'] = '#f9f9f9',
['margin'] = '10px 0',
})
-- Add inline heading and text
box:tag('span')
:tag('strong')
:wikitext('Abstract: ')
:done()
:wikitext(abstract)
return tostring(box) .. '<br>'
end
return p