view core/src/luan/modules/Html.luan @ 503:92c3d22745b8

make _ENV optional
author Franklin Schmidt <fschmidt@gmail.com>
date Wed, 20 May 2015 23:24:46 -0600
parents 55f9f74f1e55
children 195a64f948f2
line wrap: on
line source

java()
local HtmlLuan = require "java:luan.modules.HtmlLuan"

local M = {}

M.encode = HtmlLuan.encode
M.parse = HtmlLuan.parse
M.to_string = HtmlLuan.to_string



-- extras

local Luan = require "luan:Luan"
local ipairs = Luan.ipairs
local type = Luan.type
local Io = require "luan:Io"
local URLEncoder = require "java:java.net.URLEncoder"

function M.url_encode(s)
	return URLEncoder.encode(s,"UTF-8")
end

function M.process_url_tags(html)
	for i, v in ipairs(html) do
		if type(v) == "table" and v.type == "tag" then
			if v.name == "url" then
				local url = v.attributes.url or html[i+1]
				v.name = "a"
				v.attributes.url = nil
				v.attributes.href = url
			elseif v.name == "/url" then
				v.name = "/a"
			end
		end
	end
end

function M.add_nofollow(html)
	for i, v in ipairs(html) do
		if type(v) == "table" and v.type == "tag" and v.name == "a" then
			v.attributes.rel = "nofollow"
		end
	end
end


function M.simply_html_head() %>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		
		<link href="http://www.simplyhtml.org/assets/bootstrap/css/bootstrap.min.css" rel="stylesheet">
		<link rel="stylesheet" href="http://www.simplyhtml.org/assets/font-awesome/css/font-awesome.min.css">
		<script src="http://www.simplyhtml.org/assets/jquery/jquery.min.js"></script>

		<link href="http://www.simplyhtml.org/assets/simplyhtml/simplyhtml.css" rel="stylesheet"/>
		<script src="http://www.simplyhtml.org/assets/simplyhtml/simplyhtml.js"></script>
<% end

function M.simply_html_body_bottom() %>
		<script src="http://www.simplyhtml.org/assets/bootstrap/js/bootstrap.min.js"></script>
<% end

return M