{"id":13440819,"url":"https://github.com/lwindolf/liferea","last_synced_at":"2025-12-28T03:36:28.969Z","repository":{"id":11566051,"uuid":"14053387","full_name":"lwindolf/liferea","owner":"lwindolf","description":"Liferea (Linux Feed Reader), a news reader for GTK/GNOME","archived":false,"fork":false,"pushed_at":"2025-05-05T17:59:48.000Z","size":30318,"stargazers_count":858,"open_issues_count":91,"forks_count":133,"subscribers_count":44,"default_branch":"master","last_synced_at":"2025-05-05T19:03:00.336Z","etag":null,"topics":["atom","feed","gnome","hacktoberfest","news-aggregator","rss","rss-reader"],"latest_commit_sha":null,"homepage":"https://lzone.de/liferea","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lwindolf.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"custom":["https://paypal.me/32799746569265"]}},"created_at":"2013-11-01T20:45:51.000Z","updated_at":"2025-05-05T17:59:51.000Z","dependencies_parsed_at":"2023-12-23T22:48:38.722Z","dependency_job_id":"b674d02c-8a8e-4c7f-ab44-919b80d1a6e5","html_url":"https://github.com/lwindolf/liferea","commit_stats":null,"previous_names":[],"tags_count":73,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lwindolf%2Fliferea","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lwindolf%2Fliferea/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lwindolf%2Fliferea/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lwindolf%2Fliferea/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lwindolf","download_url":"https://codeload.github.com/lwindolf/liferea/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254082035,"owners_count":22011720,"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":["atom","feed","gnome","hacktoberfest","news-aggregator","rss","rss-reader"],"created_at":"2024-07-31T03:01:26.610Z","updated_at":"2025-05-14T06:13:21.448Z","avatar_url":"https://github.com/lwindolf.png","language":"C","funding_links":["https://paypal.me/32799746569265"],"categories":["C","atom"],"sub_categories":[],"readme":"[![Build Status](https://github.com/lwindolf/liferea/actions/workflows/cb.yml/badge.svg)](https://github.com/lwindolf/liferea/actions/workflows/cb.yml)\n\n[![Packages](https://repology.org/badge/latest-versions/liferea.svg)](https://repology.org/metapackage/liferea/versions)\n[![Packages](https://repology.org/badge/tiny-repos/liferea.svg)](https://repology.org/metapackage/liferea/versions)\n[![Dependency](https://img.shields.io/librariesio/github/lwindolf/liferea)](https://libraries.io/github/lwindolf/liferea)\n\nIntroduction\n------------\n\nLiferea is a desktop feed reader/news aggregator that brings together all of the content from your favorite subscriptions into a simple interface that makes it easy to organize and browse feeds. Its GUI is similar to a desktop mail/news client, with an embedded web browser.\n\n![screenshot](https://lzone.de/liferea/screenshots/screenshot2.png)\n\n\n\nInstallation from Package\n-------------------------\n\nFor distro-specific package installation check out https://lzone.de/liferea/install.htm\n\n\n\nBuilding Liferea Yourself\n------------------------\n\nThis section describes how to compile Liferea yourself. If you have\nany problems compiling the source file an issue at GitHub and we will\nhelp you asap.\n\n\n###### _Mandatory Dependencies_\n\n   libxml2-dev libxslt1-dev libsqlite3-dev libwebkit2gtk-4.0-dev libjson-glib-dev libgirepository1.0-dev\n   libpeas-dev libfribidi-dev gsettings-desktop-schemas-dev python3 libtool intltool\n\n   \n###### _Compiling from Tarball_\n\nDownload a tarball from https://github.com/lwindolf/liferea/releases\nand extract and compile with\n\n    tar jxvf liferea-1.15.5.tar.bz2 \n    ./configure\n    make\n    sudo make install\n\n\n###### _Compiling from Git_\n\nCheck out the code:\n\n    git clone https://github.com/lwindolf/liferea.git\n\nThen build it with:\n\n    ./autogen.sh\n    make\n    sudo make install\n\nIf you compile with a --prefix directory which does not match $XDG_DATA_DIRS\nyou will get a runtime error about the schema not being found. To workaround\nset $XDG_DATA_DIRS before starting Liferea. For example:\n\n    my_dir=$HOME/tmp/liferea\n    ./autogen.sh --prefix=$my_dir\n    make\n    sudo make install\n    env XDG_DATA_DIRS=\"$my_dir/share:$XDG_DATA_DIRS\" $my_dir/bin/liferea\n\n###### _Update Dependencies_\n\nTo update the Javascript dependencies run\n\n    npm i\n    npm audit fix\n    npm run installDeps\n\n\nContributing\n------------\n\nAs the project is hosted on GitHub pull requests and tickets via GitHub\nare the best way to contribute to Liferea.\n\n\n###### _Translating_\n\nBefore starting to translate you need a translation editor. We suggest\nusing poedit or Gtranslator. Please edit the translation using such a \ntranslation editor and create a Github pull request for the new `.po` file.\n\n###### _New Translations_\n\nTo create a new translation you must load the translation template, which you\ncan find in the release tarball as `po/liferea.pot`, into your translation \neditor. After editing it save it under a new name (usually your locale name\nwith the extension `.po`).\n\n\n###### _Updating Translations_\n\nWhen updating an existing translation please ensure to respect earlier \ntranslators work. If the latest translation is only a few months old please\ncontact the latest translator first asking him to review your changes especially\nif you change already translated literals.\n\n\n###### _Localizing Feed Lists_\n\nWhen Liferea starts for the first time it installs a localized feed list\nif available. If this is not the case for your locale you might want to provide\none. To check if there is one for your country have a look into the \"opml\"\nsubdirectory in the latest release tarball or GIT.\n\nIf you want to provide/update a localized feed list please follow these rules:\n\n+ Keep the English part of the default feed list\n+ Only add neutral content feeds (no sex, no ideologic politics, no illegal stuff)\n+ Provide good and short feed titles\n+ Provide HTML URLs for each feed.\n\n###### _Creating Plugins_\n\nLiferea supports GObject Introspection-based plugins using libpeas. The\nLiferea distribution comes with a set of Python plugin e.g. the media player,\nlibsecret support, a tray icon plugin and maybe others.\n\n\n###### Why We Use Plugins?\n\nThe idea behind plugins is to extend Liferea without changing compile time\nrequirements. With the plugin only activating if all its bindings are available\nLiferea uses plugins to automatically enable features where possible.\n\n\n###### How Plugins Interact With Liferea\n\nYou can develop plugins for your private use or contribute them upstream.\nIn any case it makes sense to start by cloning one of the existing plugins\nand to think about how to hook into Liferea. There are two common ways:\n\n+ using interfaces,\n+ or by listening to events on Liferea objects,\n+ or not at all by just controlling Liferea from the outside.\n\nThe media player is an example for 1.) while the tray icon is an example for 3.)\nIf you find you need a new plugin interface (called Activatables) in the code \nfeel free to contact us on the mailing list. In general such a tight coupling\nshould be avoided.\n\nAbout the exposed GIR API: At the moment there is no stable API. Its just some\nheader files fed into g-ir-scanner. Despite this method names of the core\nfunctionality in Liferea has proven to be stable during release branches. And\nif you contribute your plugin upstream it will be updated to match renamed\nfunctionality.\n\n\n###### Testing Plugins\n\nTo test your new plugin you can use ~/.local/share/liferea/plugins. Create \nthe directory and put the plugin script and the .plugin file there and restart\nLiferea.\n\nWatch out for initialization exceptions on the command line as they will\npermanently disable the plugin. Each time this happens you need to reenable\nthe plugin from within the plugin tab in the preferences dialog!\n\n\n###### _How to Help With Testing_\n\n###### *Bug Reports*\n\nIf you want to help with testing grab the latest tarball or follow GIT master\nand write bug reports for any functional problem you experience. If you have\ntime help with bug triaging. Check if you see any of the open bugs that are\nnot yet confirmed.\n\n\n###### *Debugging Crashes*\n\nIn case of crashes create gdb backtraces and post them in the bug tracker. To\ncreate a backtrace start Liferea using \"gdb liferea\". At the gdb prompt type\n\"run\" to start the execution and \"bt\" after the crash. Send us the \"bt\" output!\n\nNote: Often people confuse assertions with crashes. Assertions do halt the\nprogram because of a totally unexpected situation. Creating a backtrace in this\nsituation will only point to the assertion line, which doesn't help much. In case\nof an assertion simply post a bug report with the assertion message.\n\n\n###### *Debugging Memory Leaks*\n\nIf you see memory leakage please take the time to do a run \n\n    valgrind --leak-check=full liferea\n\nto identify leaks and send in the output.\n\n\nHow to Get Support\n------------------\n\n### When using distribution packages\n\nDo not post bug reports in the Liferea bug tracker, use the bug reporting\nsystem of your distribution instead. We (upstream) cannot fix distribution\npackages!\n\n### Before raising an issue\n\nInstall the latest stable release and check if the problem is solved already.\nPlease do not ask for help for older releases!\n\n### Issue Tracker\n\nOnce you verify that the latest stable release still has the problem\nplease raise an issue in the GitHub bug tracker\n(https://github.com/lwindolf/liferea/issues).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flwindolf%2Fliferea","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flwindolf%2Fliferea","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flwindolf%2Fliferea/lists"}