Merge branch 'master' into phpstan

This commit is contained in:
Alexandre Alapetite 2023-11-24 14:58:54 +01:00
commit dcd725de8d
No known key found for this signature in database
GPG key ID: A24378C38E812B23
4 changed files with 30 additions and 17 deletions

View file

@ -99,3 +99,9 @@ There are some FreshRSS extensions out there, developed by community members:
### By [@rudism](https://code.sitosis.com/rudism)
* [Kagi Summarizer](https://code.sitosis.com/rudism/freshrss-kagi-summarizer): Adds a "Summarize" button to the top of all entries that will fetch the summary of the entry using the [Kagi Universal Summarizer](https://kagi.com/summarizer/index.html).
### By [@shinemoon](https://github.com/shinemoon]
* [Colorful List](https://github.com/shinemoon/FreshRSS-Dev/tree/master/extensions/xExtension-ColorfulList): Generate light different background color for article list rows (relying on the feed name)

View file

@ -60,7 +60,7 @@
"name": "Colorful List",
"author": "Claud Xiao",
"description": "Colorful Entry Title based on RSS source",
"version": 0.1,
"version": 0.2,
"entrypoint": "ColorfulList",
"type": "user",
"url": "https://github.com/FreshRSS/Extensions",

View file

@ -2,7 +2,7 @@
"name": "Colorful List",
"author": "Claud Xiao",
"description": "Colorful Entry Title based on RSS source",
"version": "0.2",
"version": 0.3,
"entrypoint": "ColorfulList",
"type": "user"
}

View file

@ -1,22 +1,29 @@
'use strict';
document.addEventListener('DOMContentLoaded', function () {
function monitorEntry(monitorCallback) {
const targetNode = document.getElementById('stream');
const config = { attributes: false, childList: true, subtree: false };
const callback = function (mutationsList, observer) {
for (const mutation of mutationsList) {
if (mutation.type === 'childList') {
monitorCallback(mutationsList);
}
}
};
const observer = new MutationObserver(callback);
observer.observe(targetNode, config);
// observer.disconnect();
}
// Initial Colorize for situation where 'no new item changes triggered later' (https://github.com/FreshRSS/Extensions/issues/183)
colorize();
// Insert entry monitor
monitorEntry(colorize);
});
function colorize(entries) {
function monitorEntry(monitorCallback) {
const targetNode = document.getElementById('stream');
const config = { attributes: false, childList: true, subtree: false };
const callback = function (mutationsList, observer) {
for (const mutation of mutationsList) {
if (mutation.type === 'childList') {
monitorCallback(mutationsList);
}
}
};
const observer = new MutationObserver(callback);
observer.observe(targetNode, config);
// observer.disconnect();
}
function colorize() {
const entry = document.querySelectorAll('.flux_header');
entry.forEach((e, i) => {
const cl = stringToColour(e.querySelector('.website').textContent) + '12';