Paste number 65919: langles...

Paste number 65919: langles...
Pasted by: niklas
3 months, 5 days ago
None
Paste contents:
Raw Source | XML | Display As
function page.to_html (filename)
  local elements_table = parse.elements_from_file (filename)
  
  local return_str = ""
  
  for i, element in pairs (elements_table) do
    if element.type == "danish" then
      return_str = return_str .. page.element.danish_to_p (element.head, element.body)
    end
  end
  
  return return_str
end

function parse.elements_from_file (filename)
  check.arg (filename, "string", 1)

  local elements = {}

  local file, msg = io.open (filename)
  if not file then
    error ( "error: open " .. filename .. ": " .. msg )
  end
  
  local line = file:read ()
  
  while line do -- build table of elements
    local cur = {}
    cur.type = ""
    cur.head = ""
    cur.body = ""
  
    local firstline = line
    local remain = ""
    
    line = file:read ()
   
    while line do -- read lines till blank into remain
      if line == "" then
        break
      else
        remain = remain .. line .. "<br />"
      end
      line = file:read ()
    end
    
    cur.type, cur.head = parse.firstline (firstline)
    cur.body = remain
    
    table.insert (elements, cur)
    
    line = file:read ()
  end
  
  return elements
end

This paste has no annotations.

Colorize as:
Show Line Numbers

Lisppaste pastes can be made by anyone at any time. Imagine a fearsomely comprehensive disclaimer of liability. Now fear, comprehensively.