{"version":"https://jsonfeed.org/version/1.1","title":"topic: feeds | ege.celikci.me","home_page_url":"https://ege.celikci.me/","feed_url":"https://ege.celikci.me/tags/feeds.json","description":"all entries tagged with feeds","language":"en","icon":"https://ege.celikci.me/assets/images/favicon/android-chrome-512x512.png","favicon":"https://ege.celikci.me/assets/images/favicon/apple-touch-icon.png","items":[{"id":"https://ege.celikci.me/miniflux/","url":"https://ege.celikci.me/miniflux/","title":"Miniflux Rules","language":"en","content_html":"{{ set intro }}\n  custom [Miniflux rules](https://miniflux.app/docs/rules.html) I made and use\n  everyday for filtering, rewriting and scraping the content of the websites.\n  these include [Scraper\n  Rules](https://miniflux.app/docs/rules.html#scraper-rules) to fetch full text\n  content from partial feeds, effectively bypassing truncated articles. I use\n  [Content Rewrite Rules](https://miniflux.app/docs/rules.html#rewrite-rules) to\n  strip away intrusive elements like ads, social media buttons, breadcrumbs etc.\n  creating a distraction free \"content only reader mode\" for every site I\n  follow.\n{{ /set }}\n\n{{ intro |> md }}\n\n<div\n  class=\"columns-1 md:columns-2 gap-12 [column-rule:1px_solid_var(--color-border)] mt-12\"\n>\n  {{ for index, item of miniflux }}\n    {{ comp.ui.MinifluxItem({ index, item }) }}\n  {{ /for }}\n</div>\n","tags":["feeds","software","setup"],"date_published":"2026-08-01T19:55:56.151Z"},{"id":"https://ege.celikci.me/feeds/","url":"https://ege.celikci.me/feeds/","title":"feeds","language":"en","content_html":"{{#\n  AUTOMATIC FEED GENERATION\n  We pull the configurations defined in src/_data/feeds.ts which Lume auto-loads into it.feeds.\n#}}\n\n{{>\n  // Group the discovered feeds for the component\n  // 1. Extract Primary (Main Site Feed)\n  const feedList = it.feeds || [];\n  const mainConfig = feedList.find((f) => f.id === \"main\");\n  const primary_feeds = mainConfig\n    ? mainConfig.output.map((file) => ({\n      title: file.endsWith(\".atom\") ? \"Atom Feed\" : \"JSON Feed\",\n      label: file.endsWith(\".atom\") ? \"Global Standard\" : \"Modern API\",\n      file: file.substring(1),\n      url: file,\n    }))\n    : [];\n\n  // 2. Extract Categories (Notes, Writing, etc.)\n  const filtered_feeds = feedList\n    .filter((f) => f.id !== \"main\")\n    .map((config) => {\n      // Dynamically fetch page info for the category\n      const targetPage = search.page(`url=/${config.id}/`);\n      return {\n        title: targetPage?.title || config.title,\n        desc: targetPage?.description || config.description,\n        feeds: config.output.map((file) => ({\n          title: file.endsWith(\".atom\") ? \"Atom\" : \"JSON\",\n          file: file.substring(1),\n          url: file,\n        })),\n      };\n    })\n}}\n\n{{\n  comp.features.Feeds({\n    primary_feeds: primary_feeds,\n    primary_label: mainConfig?.title,\n    primary_desc: mainConfig?.description,\n    filtered_feeds: filtered_feeds,\n    search: search,\n  })\n}}\n","tags":["meta","feeds"],"date_published":"2026-08-01T19:55:56.151Z"}]}