all repos

olexsmir.xyz @ d34979b6eccf2b55941eb7259c5724d3c00ce901

my site, yes, i like lua
6 files changed, 151 insertions(+), 6 deletions(-)
chore: add robots.txt
Author: Oleksandr Smirnov olexsmir@gmail.com
Committed at: 2025-12-04 00:12:46 +0200
Change ID: rxukmnuxmwkpxqoutopzzmlqlylvpnoy
Parent: fb75056
M lua/blog/config.lua

@@ -12,9 +12,8 @@ }

config.build = { chroma_theme = "tokyonight-night", - output = "build", - assets = "assets", + static = "static", posts = "posts", }
M lua/blog/init.lua

@@ -30,7 +30,7 @@ if file.is_dir(c.build.output) then

file.rm(c.build.output) end file.mkdir(c.build.output) - file.copy_dir(c.build.assets, vim.fs.joinpath(c.build.output, c.build.assets)) + file.copy_dir(c.build.static, c.build.output) -- write the pages ---@type lego.Post[]

@@ -46,6 +46,7 @@ write("CNAME", c.cname)

write("chroma.css", liblego.get_css(c.build.chroma_theme)) write("sitemap.xml", sitemap.sitemap(posts, { site_url = c.url })) write("style.css", css.style(styles)) + write(".nojekyll", "") write_page("404.html", pages.not_found()) write_page("index.html", pages.home(posts)) write_page("posts.html", pages.posts(posts))
M lua/blog/pages.lua

@@ -37,7 +37,7 @@ a.href(c.feed.url),

}, h.link { a.attr("rel", "stylesheet"), a.href "style.css" }, o.has_code and h.link { a.attr("rel", "stylesheet"), a.href "chroma.css" } or {}, - h.link { a.attr("rel", "icon"), a.href "assets/favicon.svg" }, + h.link { a.attr("rel", "icon"), a.href "favicon.svg" }, h.meta { a.attr("name", "description"), a.attr("content", o.desc) }, h.meta { a.attr("property", "og:description"), a.attr("content", o.desc) }, h.meta { a.attr("property", "og:site_name"), a.attr("content", o.title) },
M lua/lego/file.lua

@@ -75,10 +75,9 @@ ---@param to string

function file.copy_dir(from, to) from = file.to_path(from) to = file.to_path(to) - vim.print("copying " .. to) - file.mkdir(to) for _, f in ipairs(vim.fn.readdir(from)) do + vim.print("copying " .. f .. " into " .. to) vim.uv.fs_copyfile(vim.fs.joinpath(from, f), vim.fs.joinpath(to, f)) end end
A static/robots.txt

@@ -0,0 +1,146 @@

+# https://github.com/ai-robots-txt/ai.robots.txt/blob/main/robots.txt +# https://codeberg.org/bbbhltz/pages/src/branch/master/robots.txt + +Sitemap: https://olexsmir.xyz/sitemap.xml + +User-agent: AcademicBotRTU +User-agent: AddSearchBot +User-agent: adidxbot +User-agent: Adsbot +User-agent: AdsBot-Google +User-agent: AhrefsBot +User-agent: AI2Bot +User-agent: Ai2Bot-Dolma +User-agent: aiHitBot +User-agent: AmazonBuyForMe +User-agent: atlassian-bot +User-agent: amazon-kendra +User-agent: Amazonbot +User-agent: Andibot +User-agent: Anomura +User-agent: anthropic-ai +User-agent: Applebot +User-agent: Applebot-Extended +User-agent: AspiegelBot +User-agent: Awario +User-agent: bedrockbot +User-agent: bigsur.ai +User-agent: BLEXBot +User-agent: BrandVerity/1.0 +User-agent: Bravebot +User-agent: Brightbot 1.0 +User-agent: BuddyBot +User-agent: Bytespider +User-agent: CCBot +User-agent: ChatGPT Agent +User-agent: ChatGPT-User +User-agent: CheckMarkNetwork/1.0 +User-agent: Claude-SearchBot +User-agent: Claude-User +User-agent: Claude-Web +User-agent: ClaudeBot +User-agent: Cloudflare-AutoRAG +User-agent: CloudVertexBot +User-agent: cohere-ai +User-agent: cohere-training-data-crawler +User-agent: Cotoyogi +User-agent: Crawlspace +User-agent: Datenbank Crawler +User-agent: DeepSeekBot +User-agent: Devin +User-agent: Diffbot +User-agent: dotbot +User-agent: DuckAssistBot +User-agent: Echobot Bot +User-agent: EchoboxBot +User-agent: FacebookBot +User-agent: facebookexternalhit +User-agent: Factset_spyderbot +User-agent: FirecrawlAgent +User-agent: FriendlyCrawler +User-agent: Gemini-Deep-Research +User-agent: GenAI +User-agent: Google-CloudVertexBot +User-agent: Google-Extended +User-agent: Google-Firebase +User-agent: Google-NotebookLM +User-agent: GoogleAgent-Mariner +User-agent: GoogleOther +User-agent: GoogleOther-Image +User-agent: GoogleOther-Video +User-agent: GPTBot +User-agent: iaskspider/2.0 +User-agent: IbouBot +User-agent: ICC-Crawler +User-agent: ImagesiftBot +User-agent: img2dataset +User-agent: imgproxy +User-agent: ISSCyberRiskCrawler +User-agent: Kangaroo Bot +User-agent: KlaviyoAIBot +User-agent: LinerBot +User-agent: Linguee Bot +User-agent: Mediapartners-Google +User-agent: meta-externalagent +User-agent: Meta-ExternalAgent +User-agent: meta-externalfetcher +User-agent: Meta-ExternalFetcher +User-agent: meta-webindexer +User-agent: MistralAI-User +User-agent: MistralAI-User/1.0 +User-agent: MJ12bot +User-agent: MyCentralAIScraperBot +User-agent: netEstate Imprint Crawler +User-agent: NotebookLM +User-agent: NovaAct +User-agent: NPBot +User-agent: OAI-SearchBot +User-agent: omgili +User-agent: omgilibot +User-agent: OpenAI +User-agent: Operator +User-agent: PanguBot +User-agent: Panscient +User-agent: panscient.com +User-agent: peer39_crawler +User-agent: peer39_crawler/1.0 +User-agent: Perplexity-User +User-agent: PerplexityBot +User-agent: PetalBot +User-agent: PhindBot +User-agent: PiplBot +User-agent: Poseidon Research Crawler +User-agent: QualifiedBot +User-agent: QuillBot +User-agent: quillbot.com +User-agent: rogerbot +User-agent: SBIntuitionsBot +User-agent: Scrapy +User-agent: SemrushBot +User-agent: SemrushBot-FT +User-agent: SemrushBot-OCOB +User-agent: SemrushBot-SA +User-agent: SemrushBot-SWA +User-agent: ShapBot +User-agent: Sidetrade indexer bot +User-agent: SlySearch +User-agent: TerraCotta +User-agent: Thinkbot +User-agent: TikTokSpider +User-agent: Timpibot +User-agent: TurnitinBot +User-agent: ubermetrics +User-agent: VelenPublicWebCrawler +User-agent: WARDBot +User-agent: Webzio-Extended +User-agent: wpbot +User-agent: YaK +User-agent: Yandex +User-agent: YandexAdditional +User-agent: YandexAdditionalBot +User-agent: YouBot +User-agent: ZoominfoBot +Disallow: / + +User-agent: * +Disallow: