<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mywikibiz.com/index.php?action=history&amp;feed=atom&amp;title=Module%3ABlock_diagram</id>
	<title>Module:Block diagram - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mywikibiz.com/index.php?action=history&amp;feed=atom&amp;title=Module%3ABlock_diagram"/>
	<link rel="alternate" type="text/html" href="https://mywikibiz.com/index.php?title=Module:Block_diagram&amp;action=history"/>
	<updated>2026-06-13T10:52:16Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.3</generator>
	<entry>
		<id>https://mywikibiz.com/index.php?title=Module:Block_diagram&amp;diff=471122&amp;oldid=prev</id>
		<title>Zoran: Pywikibot 6.4.0</title>
		<link rel="alternate" type="text/html" href="https://mywikibiz.com/index.php?title=Module:Block_diagram&amp;diff=471122&amp;oldid=prev"/>
		<updated>2021-07-15T20:51:13Z</updated>

		<summary type="html">&lt;p&gt;Pywikibot 6.4.0&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p={}&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
   local args=frame.args or {}&lt;br /&gt;
   local parent=frame.getParent(frame) or {}&lt;br /&gt;
   local pargs=parent.args or {}&lt;br /&gt;
   local textinput=args[1] or pargs[1] or &amp;quot;&amp;quot;&lt;br /&gt;
   local nowiki=args.nowiki or pargs.nowiki or nil&lt;br /&gt;
   local totalwidth=args.width or pargs.width or 220&lt;br /&gt;
   local totalheight=args.height or pargs.height or 200&lt;br /&gt;
   local debug=args.debug or pargs.debug&lt;br /&gt;
   local debuglog=&amp;quot;&amp;quot;&lt;br /&gt;
    --- Allow searching of all text to end with:&lt;br /&gt;
   textinput=textinput..&amp;quot;&amp;lt;Module:Block diagram internal end token:END&amp;gt;&amp;quot;&lt;br /&gt;
    --- Give all RECOGNIZED markup a consistent searchable string&lt;br /&gt;
    --- more styling should be added; seeking a first proof of concept now&lt;br /&gt;
   local taglist={'left','top','right','bottom','color','background-color','text-align','vertical-align','vcentertext','border-style','border-color','border-width'}&lt;br /&gt;
   for i,v in pairs(taglist) do&lt;br /&gt;
       local vn=mw.ustring.gsub(v,&amp;quot;%-&amp;quot;,&amp;quot;&amp;quot;) --- remove dashes from standard html attribute names to allow internal use&lt;br /&gt;
       local vs=mw.ustring.gsub(v,&amp;quot;%-&amp;quot;,&amp;quot;%-&amp;quot;) -- escape those hyphens for pattern search&lt;br /&gt;
       textinput=mw.ustring.gsub(textinput,&amp;quot;&amp;lt;&amp;quot;..vs..&amp;quot;%s*([^&amp;gt;]*)&amp;gt;&amp;quot;,&amp;quot;&amp;lt;Module:Block diagram internal &amp;quot;..vn..&amp;quot; token:%1&amp;gt;&amp;quot;)&lt;br /&gt;
       debuglog=debuglog..v..vs..vn..textinput&lt;br /&gt;
   end&lt;br /&gt;
   prowl=mw.ustring.gmatch(textinput,&amp;quot;(.-)&amp;lt;Module:Block diagram internal (%S+) token:([^&amp;gt;]*)&amp;gt;&amp;quot;)&lt;br /&gt;
   local tableoutput={}&lt;br /&gt;
   local text,tag,value&lt;br /&gt;
   local default={}&lt;br /&gt;
   default['left']=0&lt;br /&gt;
   default['right']=100&lt;br /&gt;
   default['top']=0&lt;br /&gt;
   default['bottom']=100&lt;br /&gt;
   default['borderstyle']='solid'&lt;br /&gt;
   default['borderwidth']='1px'&lt;br /&gt;
   default['bordercolor']='black'&lt;br /&gt;
   default['color']='black'&lt;br /&gt;
   default['backgroundcolor']='white' -- elements should usually block elements behind them, like grid lines&lt;br /&gt;
   default['textalign']='center'&lt;br /&gt;
   default['verticalalign']='middle' -- pseudo html value, but this needs a special hack to work&lt;br /&gt;
   default['vcentertext']=''&lt;br /&gt;
   for i,j in pairs(default) do&lt;br /&gt;
      _G[i]=j&lt;br /&gt;
      debuglog=debuglog..i..j&lt;br /&gt;
   end&lt;br /&gt;
   repeat&lt;br /&gt;
      text,tag,value = prowl(textinput)&lt;br /&gt;
      debuglog=debuglog..(text or &amp;quot;nil&amp;quot;)..(tag or &amp;quot;nil&amp;quot;)&lt;br /&gt;
      if not tag then return debuglog end&lt;br /&gt;
      if (text or &amp;quot;&amp;quot;)~=&amp;quot;&amp;quot; then&lt;br /&gt;
         table.insert(tableoutput,'&amp;lt;div style=&amp;quot;position:absolute;top:')&lt;br /&gt;
         table.insert(tableoutput,top)&lt;br /&gt;
         table.insert(tableoutput,'%;bottom:')&lt;br /&gt;
         table.insert(tableoutput,100-bottom)&lt;br /&gt;
         table.insert(tableoutput,'%;left:')&lt;br /&gt;
         table.insert(tableoutput,left)&lt;br /&gt;
         table.insert(tableoutput,'%;right:')&lt;br /&gt;
         table.insert(tableoutput,100-right)&lt;br /&gt;
         table.insert(tableoutput,'%;border-style:')&lt;br /&gt;
         table.insert(tableoutput,borderstyle)&lt;br /&gt;
         table.insert(tableoutput,';border-width:')&lt;br /&gt;
         table.insert(tableoutput,borderwidth)&lt;br /&gt;
         table.insert(tableoutput,';border-color:')&lt;br /&gt;
         table.insert(tableoutput,bordercolor)&lt;br /&gt;
         table.insert(tableoutput,';color:')&lt;br /&gt;
         table.insert(tableoutput,color)&lt;br /&gt;
         table.insert(tableoutput,';background-color:')&lt;br /&gt;
         table.insert(tableoutput,backgroundcolor)&lt;br /&gt;
         table.insert(tableoutput,';&amp;quot;&amp;gt;')&lt;br /&gt;
         if textalign~='center' then&lt;br /&gt;
             table.insert(tableoutput,';text-align:'..textalign)&lt;br /&gt;
         end&lt;br /&gt;
         if verticalalign=='top' then&lt;br /&gt;
             table.insert(tableoutput,text)&lt;br /&gt;
         else&lt;br /&gt;
             table.insert(tableoutput,'{{vertical center|1=')&lt;br /&gt;
             table.insert(tableoutput,text)&lt;br /&gt;
             if vcentertext then table.insert(tableoutput,'|3='..vcentertext) end&lt;br /&gt;
             table.insert(tableoutput,'}}')&lt;br /&gt;
         end&lt;br /&gt;
         table.insert(tableoutput,'&amp;lt;/div&amp;gt;')&lt;br /&gt;
      end&lt;br /&gt;
      _G[tag]=value or default[tag]&lt;br /&gt;
   until tag==&amp;quot;end&amp;quot;&lt;br /&gt;
   local textoutput=table.concat(tableoutput)&lt;br /&gt;
   textoutput='&amp;lt;div style=&amp;quot;position:relative;text-align:center;top:0;left:0;width:'..totalwidth..'px;height:'..totalheight..'px;&amp;quot;&amp;gt;'..textoutput..'&amp;lt;/div&amp;gt;'&lt;br /&gt;
   if nowiki then textoutput=frame:preprocess(&amp;quot;&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;..textoutput..&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&amp;quot;) else textoutput=frame:preprocess(textoutput) end&lt;br /&gt;
   if debug then textoutput=textoutput..debuglog end&lt;br /&gt;
   return textoutput&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Zoran</name></author>
	</entry>
</feed>