Module:PublicationShowAbstract: Difference between revisions
From MaRDI portal
No edit summary |
No edit summary |
||
| Line 51: | Line 51: | ||
end | end | ||
-- Create | -- Create container div | ||
local box = mwHtml.create('div') | local box = mwHtml.create('div') | ||
:addClass('abstract-box') | :addClass('abstract-box') | ||
| Line 61: | Line 61: | ||
['margin'] = '10px 0', | ['margin'] = '10px 0', | ||
}) | }) | ||
-- Add heading | |||
box:tag('strong') | |||
:css({ ['display'] = 'block', ['margin-bottom'] = '8px', ['font-size'] = '110%' }) | |||
:wikitext('Abstract') | |||
-- Add abstract text | |||
box:tag('div') | |||
:wikitext(abstract) | |||
return tostring(box) | return tostring(box) | ||
Revision as of 20:16, 8 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 heading
box:tag('strong')
:css({ ['display'] = 'block', ['margin-bottom'] = '8px', ['font-size'] = '110%' })
:wikitext('Abstract')
-- Add abstract text
box:tag('div')
:wikitext(abstract)
return tostring(box)
end
return p