<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://stockhub.co/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://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ABlock_diagram"/>
	<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Block_diagram&amp;action=history"/>
	<updated>2026-05-24T22:39:47Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://stockhub.co/index.php?title=Module:Block_diagram&amp;diff=135385&amp;oldid=prev</id>
		<title>imported&gt;Wnt: Other half of the previous bug</title>
		<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Block_diagram&amp;diff=135385&amp;oldid=prev"/>
		<updated>2013-05-09T06:51:33Z</updated>

		<summary type="html">&lt;p&gt;Other half of the previous bug&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={&amp;#039;left&amp;#039;,&amp;#039;top&amp;#039;,&amp;#039;right&amp;#039;,&amp;#039;bottom&amp;#039;,&amp;#039;color&amp;#039;,&amp;#039;background-color&amp;#039;,&amp;#039;text-align&amp;#039;,&amp;#039;vertical-align&amp;#039;,&amp;#039;vcentertext&amp;#039;,&amp;#039;border-style&amp;#039;,&amp;#039;border-color&amp;#039;,&amp;#039;border-width&amp;#039;}&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[&amp;#039;left&amp;#039;]=0&lt;br /&gt;
   default[&amp;#039;right&amp;#039;]=100&lt;br /&gt;
   default[&amp;#039;top&amp;#039;]=0&lt;br /&gt;
   default[&amp;#039;bottom&amp;#039;]=100&lt;br /&gt;
   default[&amp;#039;borderstyle&amp;#039;]=&amp;#039;solid&amp;#039;&lt;br /&gt;
   default[&amp;#039;borderwidth&amp;#039;]=&amp;#039;1px&amp;#039;&lt;br /&gt;
   default[&amp;#039;bordercolor&amp;#039;]=&amp;#039;black&amp;#039;&lt;br /&gt;
   default[&amp;#039;color&amp;#039;]=&amp;#039;black&amp;#039;&lt;br /&gt;
   default[&amp;#039;backgroundcolor&amp;#039;]=&amp;#039;white&amp;#039; -- elements should usually block elements behind them, like grid lines&lt;br /&gt;
   default[&amp;#039;textalign&amp;#039;]=&amp;#039;center&amp;#039;&lt;br /&gt;
   default[&amp;#039;verticalalign&amp;#039;]=&amp;#039;middle&amp;#039; -- pseudo html value, but this needs a special hack to work&lt;br /&gt;
   default[&amp;#039;vcentertext&amp;#039;]=&amp;#039;&amp;#039;&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;#039;&amp;lt;div style=&amp;quot;position:absolute;top:&amp;#039;)&lt;br /&gt;
         table.insert(tableoutput,top)&lt;br /&gt;
         table.insert(tableoutput,&amp;#039;%;bottom:&amp;#039;)&lt;br /&gt;
         table.insert(tableoutput,100-bottom)&lt;br /&gt;
         table.insert(tableoutput,&amp;#039;%;left:&amp;#039;)&lt;br /&gt;
         table.insert(tableoutput,left)&lt;br /&gt;
         table.insert(tableoutput,&amp;#039;%;right:&amp;#039;)&lt;br /&gt;
         table.insert(tableoutput,100-right)&lt;br /&gt;
         table.insert(tableoutput,&amp;#039;%;border-style:&amp;#039;)&lt;br /&gt;
         table.insert(tableoutput,borderstyle)&lt;br /&gt;
         table.insert(tableoutput,&amp;#039;;border-width:&amp;#039;)&lt;br /&gt;
         table.insert(tableoutput,borderwidth)&lt;br /&gt;
         table.insert(tableoutput,&amp;#039;;border-color:&amp;#039;)&lt;br /&gt;
         table.insert(tableoutput,bordercolor)&lt;br /&gt;
         table.insert(tableoutput,&amp;#039;;color:&amp;#039;)&lt;br /&gt;
         table.insert(tableoutput,color)&lt;br /&gt;
         table.insert(tableoutput,&amp;#039;;background-color:&amp;#039;)&lt;br /&gt;
         table.insert(tableoutput,backgroundcolor)&lt;br /&gt;
         table.insert(tableoutput,&amp;#039;;&amp;quot;&amp;gt;&amp;#039;)&lt;br /&gt;
         if textalign~=&amp;#039;center&amp;#039; then&lt;br /&gt;
             table.insert(tableoutput,&amp;#039;;text-align:&amp;#039;..textalign)&lt;br /&gt;
         end&lt;br /&gt;
         if verticalalign==&amp;#039;top&amp;#039; then&lt;br /&gt;
             table.insert(tableoutput,text)&lt;br /&gt;
         else&lt;br /&gt;
             table.insert(tableoutput,&amp;#039;{{vertical center|1=&amp;#039;)&lt;br /&gt;
             table.insert(tableoutput,text)&lt;br /&gt;
             if vcentertext then table.insert(tableoutput,&amp;#039;|3=&amp;#039;..vcentertext) end&lt;br /&gt;
             table.insert(tableoutput,&amp;#039;}}&amp;#039;)&lt;br /&gt;
         end&lt;br /&gt;
         table.insert(tableoutput,&amp;#039;&amp;lt;/div&amp;gt;&amp;#039;)&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;#039;&amp;lt;div style=&amp;quot;position:relative;text-align:center;top:0;left:0;width:&amp;#039;..totalwidth..&amp;#039;px;height:&amp;#039;..totalheight..&amp;#039;px;&amp;quot;&amp;gt;&amp;#039;..textoutput..&amp;#039;&amp;lt;/div&amp;gt;&amp;#039;&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>imported&gt;Wnt</name></author>
	</entry>
</feed>