翻訳と辞書
Words near each other
・ メ=ゾシ
・ メ=ゾシ県
・ メ~テレ
・ メ~テレNEWS
・ メ~テレカフェ
・ メ~テレニュース
・ メ~テレワイドスーパーJチャンネル
・ メ~テレ劇場
・ メ~テレ日曜朝7時枠のアニメ
・ メ~テレ時代劇
・ モ
・ モ'・ベター・ブルース
・ モア
・ モア (たばこ)
・ モア (アルバム)
・ モア (曖昧さ回避)
・ モア (曲)
・ モア☆ゴル
・ モアイ
・ モアイ (グラディウス)


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

モジュール:HtmlBuilder : ミニ英和和英辞書
モジュール:HtmlBuilder[びー]
=====================================
〔語彙分解〕的な部分一致の検索結果は以下の通りです。

ジュール : [じゅーる]
 【名詞】 1. joule 2. (n) joule
: [ちょうおん]
 (n) long vowel mark (usually only used in katakana)

モジュール:HtmlBuilder : ウィキペディア日本語版
モジュール:HtmlBuilder[びー]
-- Module for building complex HTML (e.g. infoboxes, navboxes) using a fluent interface.

local HtmlBuilder =

local metatable =

metatable.__index = function(t, key)
local ret = rawget(t, key)
if ret then
return ret
end

ret = metatable
if type(ret) == 'function' then
return function(...)
return ret(t, ...)
end
else
return ret
end
end

metatable.__tostring = function(t)
local ret =
t._build(ret)
return table.concat(ret)
end

metatable._build = function(t, ret)
if t.tagName then
table.insert(ret, '<' .. t.tagName)
for i, attr in ipairs(t.attributes) do
table.insert(ret, ' ' .. attr.name .. '="' .. attr.val .. '"')
end
if #t.styles > 0 then
table.insert(ret, ' style="')
for i, prop in ipairs(t.styles) do
if type(prop) == 'string' then -- added with cssText()
table.insert(ret, prop .. ';')
else -- added with css()
table.insert(ret, prop.name .. ':' .. prop.val .. ';')
end
end
table.insert(ret, '"')
end
if t.selfClosing then
table.insert(ret, ' /')
end
table.insert(ret, '>')
end
for i, node in ipairs(t.nodes) do
if node then
if type(node) == 'table' then
node._build(ret)
else
table.insert(ret, tostring(node))
end
end
end
if t.tagName and not t.unclosed and not t.selfClosing then
table.insert(ret, '')
end
end

metatable.node = function(t, builder)
if builder then
table.insert(t.nodes, builder)
end
return t
end

metatable.wikitext = function(t, ...)
local vals =
for i = 1, #vals do
if vals then
table.insert(t.nodes, vals)
end
end
return t
end

metatable.newline = function(t)
table.insert(t.nodes, '\n')
return t
end

metatable.tag = function(t, tagName, args)
args = args or
args.parent = t
local builder = HtmlBuilder.create(tagName, args)
table.insert(t.nodes, builder)
return builder
end

local function getAttr(t, name)
for i, attr in ipairs(t.attributes) do
if attr.name == name then
return attr
end
end
end

metatable.attr = function(t, name, val)
if type(val) == 'string' or type(val) == 'number' then
-- if caller sets the style attribute explicitly, then replace all styles previously added with css() and cssText()
if name == 'style' then
t.styles =
return t
end

local attr = getAttr(t, name)
if attr then
attr.val = val
else
table.insert(t.attributes, )
end
end

return t
end

metatable.addClass = function(t, class)
if class then
local attr = getAttr(t, 'class')
if attr then
attr.val = attr.val .. ' ' .. class
else
t.attr('class', class)
end
end

return t
end

metatable.css = function(t, name, val)
if type(val) == 'string' or type(val) == 'number' then
for i, prop in ipairs(t.styles) do
if prop.name == name then
prop.val = val
return t
end
end

table.insert(t.styles, )
end

return t
end

metatable.cssText = function(t, css)
if css then
table.insert(t.styles, css)
end
return t
end

metatable.done = function(t)
return t.parent or t
end

metatable.allDone = function(t)
while t.parent do
t = t.parent
end
return t
end

function HtmlBuilder.create(tagName, args)
args = args or
local builder =
setmetatable(builder, metatable)
builder.nodes =
builder.attributes =
builder.styles =
builder.tagName = tagName
builder.parent = args.parent
builder.unclosed = args.unclosed or false
builder.selfClosing = args.selfClosing or false
return builder
end

return HtmlBuilder


抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「モジュール:HtmlBuilder」の詳細全文を読む




スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.