Mercurial Hosting > reactionary
view src/lib/Shared.luan @ 95:83d98c822c71 default tip
ai change
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Fri, 16 May 2025 17:24:47 -0600 |
parents | 7a56c17befab |
children |
line wrap: on
line source
local ai = "gpt" local Luan = require "luan:Luan.luan" local error = Luan.error local ipairs = Luan.ipairs or error() local pairs = Luan.pairs or error() local Time = require "luan:Time.luan" local Http = require "luan:http/Http.luan" local Ai = require "luan:ai/Ai.luan" Ai.set_ai(ai) local require_ai = Ai.require_ai or error() local Translator = require_ai "Translator.luan" local Site_translator = require "luan:ai/Site_translator.luan" local get_lang = Site_translator.get_lang or error() local languages = Site_translator.languages or error() local Shared = {} if ai == "gpt" then function Translator.prompt(html,language) %> Please translate the HTML below delimited by triple quotes from English to <%=language%>. Note that the content is related to computer programming, so keep that in mind while translating. The English word "library" refers to a programming library, not a place to borrow books, so translate to the word in the target language that means programming library. So for Spanish, use "librerÃa". Do not translate file names. Do not translate the contents of <code> tags. """ <%=html%> """ <% end else error(ai) end Http.not_found_handler = Site_translator.not_found_handler or error() local started = Time.now() function Shared.head() %> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> @import "/site.css?s=<%=started%>"; </style> <script src="/site.js?s=<%=started%>"></script> <% end local function header(crumbs) local lang = get_lang() local home if lang == "en" then home = "/" else home = "/"..lang.."/" end %> <div header> <span breadcrumbs> <a href="<%=home%>">Reactionary Software</a> <% for _, crumb in ipairs(crumbs or {}) do %> / <%=crumb%> <% end %> - <select onchange="setLanguage(value)"> <% for code, name in pairs(languages) do local selected = code==lang and "selected" or "" %> <option value="<%=code%>" <%=selected%> ><%=name%></option> <% end %> </select> </span> <span>by <a href="https://linkmy.style/fschmidt">fschmidt</a></span> </div> <% end Shared.header = header function Shared.existing_header() header{[[<a href="existing.html">Existing</a>]]} end function Shared.needed_header() header{[[<a href="needed.html">Needed</a>]]} end function Shared.luan_url() local url = "https://www.luan.software" local lang = get_lang() if lang ~= "en" then url = url.."/"..lang end return url end return Shared