some progress
This commit is contained in:
		
							parent
							
								
									b3aa8ca505
								
							
						
					
					
						commit
						69c2e0545f
					
				| @ -77,41 +77,90 @@ local function HTMLconverter(fg, bg, bold, underline, inverse) | ||||
|     if inverse then | ||||
|         fg, bg = bg, fg | ||||
|     end | ||||
| 
 | ||||
|     if type(fg) == "number" then | ||||
|         table.insert(classes, ANSI_COLORS[fg] .. "-fg") | ||||
|     elseif fg then | ||||
|         table.insert("background-color: rgb(") | ||||
|         table.insert(styles, string.format("color: rgb(%d,%d,%d)", fg[1], fg[2], fg[3])) | ||||
|     elseif inverse then | ||||
|         table.insert(classes,"ansi-default-inverse-fg") | ||||
|     end | ||||
| 
 | ||||
|     if type(bg) == "number" then | ||||
|         table.insert(classes, ANSI_COLORS[bg] .. "-bg") | ||||
|     elseif bg then | ||||
|         table.insert(styles, string.format("background-color: rgb(%d,%d,%d)", bg[1], bg[2], bg[3])) | ||||
|     elseif inverse then | ||||
|         table.insert(classes,"ansi-default-inverse-bg") | ||||
|     end | ||||
| 
 | ||||
|     if bold then | ||||
|         table.insert(classes, "ansi-bold") | ||||
|     end | ||||
| 
 | ||||
|     if underline then | ||||
|         table.insert(classes, "ansi-underline") | ||||
|     end | ||||
| 
 | ||||
|     local starttag = "<span"  | ||||
|     if classes then | ||||
|         starttag = starttag .. ' class="' ..  table.concat(classes, " ") .. '"'  | ||||
|     end | ||||
| 
 | ||||
|     if styles then | ||||
|         starttag = starttag .. ' style="' ..  table.concat(styles, " ") .. '"'  | ||||
|     end | ||||
| 
 | ||||
|     return starttag,"</span>"  | ||||
| end | ||||
| 
 | ||||
|     | ||||
| function CodeBlock(e) | ||||
|     local converter | ||||
|     if FORMAT:match 'latex' then | ||||
|         local converter = LaTeXconverter | ||||
|         converter = LaTeXconverter | ||||
|     elseif FORMAT:match 'html' then | ||||
|         local converter = HTMLconverter | ||||
|         converter = HTMLconverter | ||||
|     elseif FORMAT:match 'native' then | ||||
|         local converter = HTMLconverter | ||||
|         converter = HTMLconverter | ||||
|     else | ||||
|         return | ||||
|     end | ||||
|     if string.find(e.text, "\x1b%[") then | ||||
|         local bold = false | ||||
|         local underline = false | ||||
|         local inverse = false | ||||
|         local text = e.text | ||||
|         local out = "" | ||||
|         -- while text do | ||||
|         local chunk = "" | ||||
|         local fg = {} | ||||
|         local bg = {} | ||||
|         local starttag = "" | ||||
|         local endtag = "" | ||||
| 
 | ||||
|         while text do | ||||
|             local s1, e1, c1, d1 = string.find(text, "\x1b%[(.-)([@-~])") | ||||
|             if s1 then | ||||
|                 if d1=="m" then | ||||
|                 if d1 == "m" then | ||||
|                     local numbers={} | ||||
|                     for i in string.gmatch(c1, "[^;]") do | ||||
|                         table.insert(numbers, tonumber(i)) | ||||
|                     end | ||||
|                     print(s1,numbers[1])         | ||||
|                 end | ||||
|                 chunk, text = text:sub(1, s1-1), text:sub(e1+1) | ||||
|             else | ||||
|                 chunk, text = text, "" | ||||
|             end | ||||
|         -- end | ||||
| 
 | ||||
|             if chunk then | ||||
|                 if bold and type(fg)=="number" and fg<8 then | ||||
|                     starttag, endtag = converter(fg+8, bg, bold, underline, inverse) | ||||
|                 else | ||||
|                     starttag, endtag = converter(fg, bg, bold, underline, inverse) | ||||
|                 end     | ||||
|                 out = out .. starttag .. chunk .. endtag | ||||
|             end | ||||
|         end | ||||
| 
 | ||||
|     end | ||||
| end | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user