{"id":24625415,"url":"https://github.com/famebot/xeo","last_synced_at":"2026-01-07T01:14:05.847Z","repository":{"id":273523371,"uuid":"911817828","full_name":"famebot/xeo","owner":"famebot","description":"Variant of Lume Simple Blog theme","archived":false,"fork":false,"pushed_at":"2025-06-25T00:32:39.000Z","size":5092,"stargazers_count":3,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"trunk","last_synced_at":"2025-07-19T10:00:17.449Z","etag":null,"topics":["blog","blog-template","blog-theme","deno","design","lume","minimal","template","theme"],"latest_commit_sha":null,"homepage":"https://xeo.land","language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/famebot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-01-03T23:37:26.000Z","updated_at":"2025-06-25T00:30:06.000Z","dependencies_parsed_at":"2025-02-05T17:21:25.254Z","dependency_job_id":"e587423a-3c36-494c-811b-0fa212fd2470","html_url":"https://github.com/famebot/xeo","commit_stats":null,"previous_names":["famebot/xeo"],"tags_count":25,"template":false,"template_full_name":null,"purl":"pkg:github/famebot/xeo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/famebot%2Fxeo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/famebot%2Fxeo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/famebot%2Fxeo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/famebot%2Fxeo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/famebot","download_url":"https://codeload.github.com/famebot/xeo/tar.gz/refs/heads/trunk","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/famebot%2Fxeo/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266278376,"owners_count":23904041,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blog","blog-template","blog-theme","deno","design","lume","minimal","template","theme"],"created_at":"2025-01-25T04:33:54.299Z","updated_at":"2026-01-07T01:14:05.826Z","avatar_url":"https://github.com/famebot.png","language":"CSS","funding_links":["https://opencollective.com/lume"],"categories":[],"sub_categories":[],"readme":"# [🔥\u0026nbsp;Lume](https://translate.google.com/?sl=gl\u0026tl=en\u0026text=Lume\u0026op=translate) + [Xeo\u0026nbsp;🧊](https://translate.google.com/?sl=gl\u0026tl=en\u0026text=Xeo\u0026op=translate)\n\nWelcome to **Xeo**, a _deluxe_\n[**Lume theme**](https://lume.land/theme/simple-blog/).\n\nVisit [xeo.land](https://xeo.land) for the live demo.\n\n[**Release Notes**](https://github.com/famebot/xeo/releases) (Contributions\nwelcome: [famebot/xeo on GitHub](https://github.com/famebot/xeo))\n\n\u0026copy; 2022-present [Óscar Otero](https://oscarotero.com/) \u0026amp;\n[Ricky de Laveaga](https://rdela.com/); [MIT License](./LICENSE.md)\n\n\u003e [!NOTE]\n\u003e **Xeo** began as Ricky de Laveaga’s _deluxe_ variant of\n\u003e [**Simple Blog**](https://lume.land/theme/simple-blog/) by Óscar Otero, a\n\u003e clean and minimal blog theme for [**Lume**](https://lume.land/) with support\n\u003e for tags and authors. Simple Blog and Xeo both provide Atom and JSON feeds for\n\u003e subscribers, and share the same design foundation. Over time, eventually Xeo\n\u003e diverged substantially enough from Simple Blog that Óscar and Ricky agreed it\n\u003e was time for Xeo to become a fully stand-alone\n\u003e [Lume theme](https://lume.land/theme/xeo/).\n\u003e\n\u003e As of Xeo version 7.0, the successor to v6.3.8, Xeo no longer depends on\n\u003e Simple Blog as its parent theme. Because Xeo is no longer a child theme, using\n\u003e Xeo as a parent theme to make your own child theme just got easier. Another\n\u003e bonus of the split is that Simple Blog can now freely implement features that\n\u003e landed in Xeo first (like custom fonts and colors) without having to worry\n\u003e about compatibility issues with Xeo or downstream themes and sites that depend\n\u003e on Xeo.\n\n## Quick start 🎬\n\nOnce you\n[install Deno](https://docs.deno.com/runtime/getting_started/installation/), the\n**fastest and easiest** way to configure this theme is the\n[Lume init command](https://deno.land/x/lume_init), which you can also copy\neasily from the [Xeo theme page](https://lume.land/theme/xeo/). Running:\n\n```bash\ndeno run -A https://lume.land/init.ts --theme=xeo\n```\n\nwill create a new project with Xeo configured.\n\n## Build + dev commands\u0026nbsp;🛠️\n\n- `deno task serve` to start a local server\n\n- [`deno task d`](./deno.json) also runs `serve`, if you are into the whole\n  [brevity thing](https://en.wikiquote.org/wiki/The_Big_Lebowski#Jeffrey_%22The_Dude%22_Lebowski).\n\n- `deno task lup` upgrades Lume via `deno task lume upgrade`\n\n- `deno task up` upgrades dependencies with\n  [`nudd`](https://github.com/oscarotero/nudd)\n\n## Personalize Xeo 💅\n\nEdit the [`_data.yml`](https://github.com/famebot/xeo/blob/trunk/_data.yml) file\nin your blog root folder with your data to customize the site title,\ndescription, and metadata.\n\n### Domains and URLs\u0026nbsp;🕸️\n\nThe [`location`](https://lume.land/docs/configuration/config-file/#location)\n(aka web address, “the public URL of the site”) depends on the environment\n(development, production) and can be changed dynamically from the CLI\n(`deno task serve --location=https://example.com`). We encourage you to either\nconfigure `location` dynamically, as Xeo does for [xeo.land](https://xeo.land)\n(in [`deno.json`](https://github.com/famebot/xeo/blob/trunk/deno.json#L9) and\n[`netlify.toml`](https://github.com/famebot/xeo/blob/trunk/netlify.toml#L5)), or\nto set `location` in\n[`_config.ts`](https://github.com/lumeland/lume.land/blob/2f6da036fb0be93d9689ca29bb87c57c08b7f560/_config.ts#L34)\nas [lume.land](https://lume.land/) does. The default value is\n[`https://localhost`](https://github.com/lumeland/lume.land/blob/main/docs/advanced/cheatsheet.md?plain=1#L27).\n\n\u003e ℹ️ You may also want to set the local server\n\u003e [`port`](https://lume.land/docs/configuration/config-file/#port). For even\n\u003e more flexibility in local development,\n\u003e [Lume 2.5.1](https://github.com/lumeland/lume/blob/v2.5.1/CHANGELOG.md#251---2025-01-28)\n\u003e added a new `--hostname` argument to\n\u003e [`lume --serve`](https://lume.land/docs/overview/command-line/#start-a-local-server)\n\u003e and [`lume cms`](https://lume.land/cms/#run-in-localhost) to change the\n\u003e default `localhost` value there as well.\n\n### Typography 🔤\n\nXeo uses [Lume’s Google Fonts plugin](https://lume.land/plugins/google_fonts/)\nin [`plugins.ts`](https://github.com/famebot/xeo/blob/trunk/plugins.ts) to set\ndisplay (for larger sized headings and titles) and text (normal body and smaller\nsizes) typefaces from the [Google Font Library](https://fonts.google.com/).\n\nBy default, Xeo sets [Bebas Neue](https://fonts.google.com/specimen/Bebas+Neue)\nfor display and [Lexend](https://fonts.google.com/specimen/Lexend) for text.\nPreview Bebas Neue + Lexend at **[xeo.land](https://xeo.land/).**\n\nTo\n[**configure which Google fonts Xeo uses**](https://xeo.land/differences/#typography),\nprovide a `fonts` object with `display` and/or `text` options to `xeo` in your\n`_config.ts`:\n\n```ts\nimport lume from \"lume/mod.ts\";\nimport xeo from \"xeo/mod.ts\";\n\nconst site = lume();\n\nsite.use(xeo({\n  fonts: {\n    display:\n      \"https://fonts.google.com/share?selection.family=Playpen+Sans:wght@100..800\",\n    text:\n      \"https://fonts.google.com/share?selection.family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900\",\n  },\n}));\n\nexport default site;\n```\n\n**Visit [xogo.xeo.land](https://xogo.xeo.land/)** to see the change resulting\nfrom the configuration above, which pairs\n[Playpen](https://fonts.google.com/specimen/Playpen+Sans) \u0026\n[Poppins](https://fonts.google.com/specimen/Poppins) for a fun, playful vibe.\nPreview the defaults,\n[Bebas Neue](https://fonts.google.com/specimen/Bebas+Neue) +\n[Lexend](https://fonts.google.com/specimen/Lexend), at\n**[xeo.land](https://xeo.land/).**\n\n[**Xogo** means _play_ or _game_](https://translate.google.com/?sl=gl\u0026tl=en\u0026text=Xogo\u0026op=translate)\nin Galician, like\n[**Xeo** means _ice_](https://translate.google.com/?sl=gl\u0026tl=en\u0026text=Xeo\u0026op=translate)\nand\n[**Lume** means _fire_](https://translate.google.com/?sl=gl\u0026tl=en\u0026text=Lume\u0026op=translate).\nThe source code powering the example is in the\n[`xogo` branch on GitHub](https://github.com/famebot/xeo/blob/xogo/_config.ts#L6-L18).\n\n\u003e ℹ️ Discover how to\n\u003e [find the correct “share page link”](https://xeo.land/differences/#typography),\n\u003e or URL, for your font choices.\n\n### Color 🎨\n\nLike with fonts above, to **configure which colors Xeo uses**, provide `xeo`\nwith a `colors` object with the options you want to override in your\n`_config.ts`:\n\n```ts\nimport lume from \"lume/mod.ts\";\nimport xeo from \"xeo/mod.ts\";\n\nconst site = lume();\n\nsite.use(xeo({\n  colors: {\n    hue: 288,\n    complement: 108,\n    analogous: 154,\n  },\n}));\n\nexport default site;\n```\n\n**Visit [xogo.xeo.land](https://xogo.xeo.land/)** to see the change resulting\nfrom the configuration above.\n\nSee the defaults in\n[`plugins.ts`](https://github.com/famebot/xeo/blob/trunk/plugins.ts) for a list\nof all `colors` options.\n\n## Blogging 📝\n\nPosts must be saved in the `posts` folder (for example,\n`posts/my-first-post.md`). Unlike Simple Blog, Xeo serves them from the root\ndirectory, by setting\n[`basename`](https://lume.land/docs/creating-pages/urls/#basename) to `/` in\n[`posts/_data.yml`](https://github.com/famebot/xeo/blob/trunk/posts/_data.yml#L3).\n\n## CMS ✍️\n\n\u003e 💡 Use [LumeCMS](https://lume.land/cms/) to customize the blog and add content\n\u003e easily.\n\nLike Simple Blog, Xeo includes [LumeCMS](https://lume.land/cms) to edit your\nsite easily in a web browser. You can\n[run LumeCMS locally](https://lume.land/cms/#run-in-localhost) or publish it\nalongside your built site, ideally\n[deployed to a VPS](https://lume.land/cms/deployment/vps/).\n\n## Install as a remote theme\u0026nbsp;🛰️\n\nTo add the theme to an existing Lume project, import it in your `_config.ts`\nfile as a remote module. Update it by changing the version number in the import\nURL:\n\n```ts\nimport lume from \"lume/mod.ts\";\nimport xeo from \"https://deno.land/x/xeo@v5.0.0/mod.ts\";\n\nconst site = lume();\n\nsite.use(xeo());\n\nexport default site;\n```\n\nCopy the [`_data.yml`](https://github.com/famebot/xeo/blob/trunk/_data.yml) file\nto your blog root folder and edit it with your data.\n\n## Use Xeo as a base template\u0026nbsp;🧱\n\nTo use this theme as a base template for a more customized blog, clone\n[famebot/xeo](https://github.com/famebot/xeo) on GitHub and edit the\n[`_data.yml`](https://github.com/famebot/xeo/blob/trunk/_data.yml) file.\n\n## Explore Lume 🧭\n\n- Browse [Lume documentation](https://lume.land)\n\n- Propose new ideas and get help at [Discord](https://discord.gg/YbTmpACHWB)\n\n- View [Lume source code](https://github.com/lumeland/lume) and report issues\n\n- View the\n  [Simple Blog source code](https://github.com/lumeland/theme-simple-blog) and\n  report issues\n\n- [Support Lume](https://opencollective.com/lume) development ❤️‍🔥\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffamebot%2Fxeo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffamebot%2Fxeo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffamebot%2Fxeo/lists"}