add rss feed ability
This commit is contained in:
parent
716905487e
commit
81f4f0fd1a
BIN
assets/afis_picture_of_the_day.jpg
Normal file
BIN
assets/afis_picture_of_the_day.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 107 KiB |
@ -1,9 +1,10 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
nvm use 16
|
nvm use 16
|
||||||
cd /home/tykayn/www/multi-account-post-schedule-mastodon
|
cd /home/tykayn/www/multi-account-post-schedule-mastodon
|
||||||
cd assets/documents
|
#cd assets/documents
|
||||||
# get rss feed of afis fr website in documents
|
# get rss feed of afis fr website in documents
|
||||||
echo "get afis science RSS feed" | tee -a /home/tykayn/log_autopost.txt
|
#echo "get afis science RSS feed" | tee -a /home/tykayn/log_autopost.txt
|
||||||
wget --no-check-certificate --no-directories -O ./../documents/afis_rss.xml https://afis.org/rss.xml
|
#wget --no-check-certificate --no-directories -O ./../documents/afis_rss.xml https://afis.org/rss.xml
|
||||||
|
#cd ../..
|
||||||
|
|
||||||
node helpers/afis_science.mjs --force | tee -a /home/tykayn/log_autopost.txt 2>&1
|
node helpers/afis_science.mjs --force | tee -a /home/tykayn/log_autopost.txt 2>&1
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
wget --no-check-certificate --no-directories -O ./../documents/afis_rss.xml https://afis.org/rss.xml
|
wget --no-check-certificate --no-directories -O ./../documents/afis_rss.xml https://afis.org/rss.xml
|
||||||
|
wget --no-check-certificate --no-directories -O ./../assets/blog_posts_medias/afis_picture_of_the_day.jpg https://www.afis.org/local/cache-gd2/51/ab5523b710ad2cafd3b841d9e1df53.jpg?1675290946
|
||||||
|
|
||||||
wget --no-check-certificate --no-directories -O ./../documents/ourworldindata.html https://ourworldindata.org/blog
|
wget --no-check-certificate --no-directories -O ./../documents/ourworldindata.html https://ourworldindata.org/blog
|
||||||
wget --no-check-certificate --no-directories -O ./../documents/elements_cartographiques.html https://wiki.openstreetmap.org/wiki/FR:%C3%89l%C3%A9ments_cartographiques
|
wget --no-check-certificate --no-directories -O ./../documents/elements_cartographiques.html https://wiki.openstreetmap.org/wiki/FR:%C3%89l%C3%A9ments_cartographiques
|
||||||
wget --no-check-certificate --no-directories -O ./../documents/wiki_osm_traductions_incompletes.html https://wiki.openstreetmap.org/wiki/Category:FR:Traduction_incompl%C3%A8te
|
wget --no-check-certificate --no-directories -O ./../documents/wiki_osm_traductions_incompletes.html https://wiki.openstreetmap.org/wiki/Category:FR:Traduction_incompl%C3%A8te
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8"/>
|
<meta charset="UTF-8"/>
|
||||||
<title>FR:Éléments cartographiques - OpenStreetMap Wiki</title>
|
<title>FR:Éléments cartographiques - OpenStreetMap Wiki</title>
|
||||||
<script>document.documentElement.className="client-js";RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":[",\t."," \t,"],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],"wgRequestId":"ca15cd7a222e5325ae72a013","wgCSPNonce":false,"wgCanonicalNamespace":"FR","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":202,"wgPageName":"FR:Éléments_cartographiques","wgTitle":"Éléments cartographiques","wgCurRevisionId":1764163,"wgRevisionId":1764163,"wgArticleId":4478,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Pages with script errors","Pages where template include size is exceeded","Pages unavailable in French","Pages with maps","FR:Éléments cartographiques","FR:Sémantique"],"wgPageContentLanguage":"fr","wgPageContentModel":"wikitext","wgRelevantPageName":
|
<script>document.documentElement.className="client-js";RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":[",\t."," \t,"],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],"wgRequestId":"c01c9a581cd07360dec802c6","wgCSPNonce":false,"wgCanonicalNamespace":"FR","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":202,"wgPageName":"FR:Éléments_cartographiques","wgTitle":"Éléments cartographiques","wgCurRevisionId":1764163,"wgRevisionId":1764163,"wgArticleId":4478,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Pages with script errors","Pages where template include size is exceeded","Pages unavailable in French","Pages with maps","FR:Éléments cartographiques","FR:Sémantique"],"wgPageContentLanguage":"fr","wgPageContentModel":"wikitext","wgRelevantPageName":
|
||||||
"FR:Éléments_cartographiques","wgRelevantArticleId":4478,"wgIsProbablyEditable":false,"wgRelevantPageIsProbablyEditable":false,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgMFDisplayWikibaseDescriptions":{"search":false,"nearby":false,"watchlist":false,"tagline":false},"wgVisualEditor":{"pageLanguageCode":"fr","pageLanguageDir":"ltr","pageVariantFallbacks":"fr"},"wgULSAcceptLanguageList":[],"wgULSCurrentAutonym":"English","wgVector2022PreviewPages":[],"ScribuntoErrors":["\u003Cp\u003EToo many Data Items entities accessed.\u003C/p\u003E\u003Cp\u003ENo further details are available.\u003C/p\u003E","\u003Cp\u003EToo many Data Items entities accessed.\u003C/p\u003E\u003Cp\u003ENo further details are available.\u003C/p\u003E","\u003Cp\u003EToo many Data Items entities accessed.\u003C/p\u003E\u003Cp\u003ENo further details are available.\u003C/p\u003E","\u003Cp\u003EToo many Data Items entities accessed.\u003C/p\u003E\u003Cp\u003ENo further details are available.\u003C/p\u003E",
|
"FR:Éléments_cartographiques","wgRelevantArticleId":4478,"wgIsProbablyEditable":false,"wgRelevantPageIsProbablyEditable":false,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgMFDisplayWikibaseDescriptions":{"search":false,"nearby":false,"watchlist":false,"tagline":false},"wgVisualEditor":{"pageLanguageCode":"fr","pageLanguageDir":"ltr","pageVariantFallbacks":"fr"},"wgULSAcceptLanguageList":[],"wgULSCurrentAutonym":"English","wgVector2022PreviewPages":[],"ScribuntoErrors":["\u003Cp\u003EToo many Data Items entities accessed.\u003C/p\u003E\u003Cp\u003ENo further details are available.\u003C/p\u003E","\u003Cp\u003EToo many Data Items entities accessed.\u003C/p\u003E\u003Cp\u003ENo further details are available.\u003C/p\u003E","\u003Cp\u003EToo many Data Items entities accessed.\u003C/p\u003E\u003Cp\u003ENo further details are available.\u003C/p\u003E","\u003Cp\u003EToo many Data Items entities accessed.\u003C/p\u003E\u003Cp\u003ENo further details are available.\u003C/p\u003E",
|
||||||
"\u003Cp\u003EToo many Data Items entities accessed.\u003C/p\u003E\u003Cp\u003ENo further details are available.\u003C/p\u003E"],"wgEditSubmitButtonLabelPublish":false,"wgULSPosition":"personal","wgULSisCompactLinksEnabled":true};RLSTATE={"site.styles":"ready","user.styles":"ready","user":"ready","user.options":"loading","ext.kartographer.style":"ready","skins.vector.styles.legacy":"ready","ext.OsmWikibase-all":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.pt":"ready"};RLPAGEMODULES=["ext.kartographer.frame","ext.scribunto.errors","site","mediawiki.page.ready","mediawiki.toc","skins.vector.legacy.js","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.gadget.taginfo","ext.gadget.dataitemlinks","ext.uls.compactlinks","ext.uls.interface"];</script>
|
"\u003Cp\u003EToo many Data Items entities accessed.\u003C/p\u003E\u003Cp\u003ENo further details are available.\u003C/p\u003E"],"wgEditSubmitButtonLabelPublish":false,"wgULSPosition":"personal","wgULSisCompactLinksEnabled":true};RLSTATE={"site.styles":"ready","user.styles":"ready","user":"ready","user.options":"loading","ext.kartographer.style":"ready","skins.vector.styles.legacy":"ready","ext.OsmWikibase-all":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.pt":"ready"};RLPAGEMODULES=["ext.kartographer.frame","ext.scribunto.errors","site","mediawiki.page.ready","mediawiki.toc","skins.vector.legacy.js","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.gadget.taginfo","ext.gadget.dataitemlinks","ext.uls.compactlinks","ext.uls.interface"];</script>
|
||||||
<script>(RLQ=window.RLQ||[]).push(function(){mw.loader.implement("user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"});});});</script>
|
<script>(RLQ=window.RLQ||[]).push(function(){mw.loader.implement("user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"});});});</script>
|
||||||
@ -14049,12 +14049,12 @@ On en trouve le long des routes et des chemins dans divers pays d'Europe: Allema
|
|||||||
</p>
|
</p>
|
||||||
<!--
|
<!--
|
||||||
NewPP limit report
|
NewPP limit report
|
||||||
Cached time: 20230303111013
|
Cached time: 20230303123740
|
||||||
Cache expiry: 86400
|
Cache expiry: 86400
|
||||||
Reduced expiry: false
|
Reduced expiry: false
|
||||||
Complications: [show‐toc]
|
Complications: [show‐toc]
|
||||||
CPU time usage: 23.353 seconds
|
CPU time usage: 23.103 seconds
|
||||||
Real time usage: 38.508 seconds
|
Real time usage: 38.289 seconds
|
||||||
Preprocessor visited node count: 251259/1000000
|
Preprocessor visited node count: 251259/1000000
|
||||||
Post‐expand include size: 2097152/2097152 bytes
|
Post‐expand include size: 2097152/2097152 bytes
|
||||||
Template argument size: 503399/2097152 bytes
|
Template argument size: 503399/2097152 bytes
|
||||||
@ -14062,26 +14062,26 @@ Highest expansion depth: 29/100
|
|||||||
Expensive parser function count: 259/500
|
Expensive parser function count: 259/500
|
||||||
Unstrip recursion depth: 0/20
|
Unstrip recursion depth: 0/20
|
||||||
Unstrip post‐expand size: 3331/5000000 bytes
|
Unstrip post‐expand size: 3331/5000000 bytes
|
||||||
Lua time usage: 11.490/15 seconds
|
Lua time usage: 10.670/15 seconds
|
||||||
Lua virtual size: 9711616/52428800 bytes
|
Lua virtual size: 9846784/52428800 bytes
|
||||||
Lua estimated memory usage: 0 bytes
|
Lua estimated memory usage: 0 bytes
|
||||||
Number of Wikibase entities loaded: 75/250
|
Number of Wikibase entities loaded: 75/250
|
||||||
-->
|
-->
|
||||||
<!--
|
<!--
|
||||||
Transclusion expansion time report (%,ms,calls,template)
|
Transclusion expansion time report (%,ms,calls,template)
|
||||||
100.00% 33362.676 1 -total
|
100.00% 33459.274 1 -total
|
||||||
43.42% 14487.628 1072 Template:Valuelink
|
43.65% 14605.340 1072 Template:Valuelink
|
||||||
32.77% 10934.345 1327 Template:Keylink
|
32.67% 10930.326 1327 Template:Keylink
|
||||||
11.41% 3807.038 1 Template:FR:Map_Features:shop
|
11.47% 3837.618 1 Template:FR:Map_Features:shop
|
||||||
11.40% 3803.256 1 Template:Map_Features:shop
|
11.46% 3833.006 1 Template:Map_Features:shop
|
||||||
9.28% 3097.383 1 Template:FR:Map_Features:amenity
|
9.20% 3077.024 1 Template:FR:Map_Features:amenity
|
||||||
9.26% 3090.730 1 Template:Map_Features:amenity
|
9.18% 3070.675 1 Template:Map_Features:amenity
|
||||||
8.99% 3000.149 107 Template:LangSwitch
|
9.03% 3021.786 107 Template:LangSwitch
|
||||||
8.65% 2885.185 99 Template:Icon
|
8.72% 2916.499 99 Template:Icon
|
||||||
7.42% 2476.523 1 Template:FR:Map_Features:highway
|
7.85% 2627.527 1 Template:FR:Map_Features:highway
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<!-- Saved in parser cache with key wiki:pcache:idhash:4478-0!canonical and timestamp 20230303110934 and revision id 1764163.
|
<!-- Saved in parser cache with key wiki:pcache:idhash:4478-0!canonical and timestamp 20230303123701 and revision id 1764163.
|
||||||
-->
|
-->
|
||||||
</div>
|
</div>
|
||||||
<div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://wiki.openstreetmap.org/w/index.php?title=FR:Éléments_cartographiques&oldid=1764163">https://wiki.openstreetmap.org/w/index.php?title=FR:Éléments_cartographiques&oldid=1764163</a>"</div></div>
|
<div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://wiki.openstreetmap.org/w/index.php?title=FR:Éléments_cartographiques&oldid=1764163">https://wiki.openstreetmap.org/w/index.php?title=FR:Éléments_cartographiques&oldid=1764163</a>"</div></div>
|
||||||
@ -14288,6 +14288,6 @@ Transclusion expansion time report (%,ms,calls,template)
|
|||||||
|
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
<script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgPageParseReport":{"limitreport":{"cputime":"23.353","walltime":"38.508","ppvisitednodes":{"value":251259,"limit":1000000},"postexpandincludesize":{"value":2097152,"limit":2097152},"templateargumentsize":{"value":503399,"limit":2097152},"expansiondepth":{"value":29,"limit":100},"expensivefunctioncount":{"value":259,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":3331,"limit":5000000},"entityaccesscount":{"value":75,"limit":250},"timingprofile":["100.00% 33362.676 1 -total"," 43.42% 14487.628 1072 Template:Valuelink"," 32.77% 10934.345 1327 Template:Keylink"," 11.41% 3807.038 1 Template:FR:Map_Features:shop"," 11.40% 3803.256 1 Template:Map_Features:shop"," 9.28% 3097.383 1 Template:FR:Map_Features:amenity"," 9.26% 3090.730 1 Template:Map_Features:amenity"," 8.99% 3000.149 107 Template:LangSwitch"," 8.65% 2885.185 99 Template:Icon"," 7.42% 2476.523 1 Template:FR:Map_Features:highway"]},"scribunto":{"limitreport-timeusage":{"value":"11.490","limit":"15"},"limitreport-virtmemusage":{"value":9711616,"limit":52428800},"limitreport-estmemusage":0},"cachereport":{"timestamp":"20230303111013","ttl":86400,"transientcontent":false}}});mw.config.set({"wgBackendResponseTime":38873});});</script>
|
<script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgPageParseReport":{"limitreport":{"cputime":"23.103","walltime":"38.289","ppvisitednodes":{"value":251259,"limit":1000000},"postexpandincludesize":{"value":2097152,"limit":2097152},"templateargumentsize":{"value":503399,"limit":2097152},"expansiondepth":{"value":29,"limit":100},"expensivefunctioncount":{"value":259,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":3331,"limit":5000000},"entityaccesscount":{"value":75,"limit":250},"timingprofile":["100.00% 33459.274 1 -total"," 43.65% 14605.340 1072 Template:Valuelink"," 32.67% 10930.326 1327 Template:Keylink"," 11.47% 3837.618 1 Template:FR:Map_Features:shop"," 11.46% 3833.006 1 Template:Map_Features:shop"," 9.20% 3077.024 1 Template:FR:Map_Features:amenity"," 9.18% 3070.675 1 Template:Map_Features:amenity"," 9.03% 3021.786 107 Template:LangSwitch"," 8.72% 2916.499 99 Template:Icon"," 7.85% 2627.527 1 Template:FR:Map_Features:highway"]},"scribunto":{"limitreport-timeusage":{"value":"10.670","limit":"15"},"limitreport-virtmemusage":{"value":9846784,"limit":52428800},"limitreport-estmemusage":0},"cachereport":{"timestamp":"20230303123740","ttl":86400,"transientcontent":false}}});mw.config.set({"wgBackendResponseTime":263});});</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8"/>
|
<meta charset="UTF-8"/>
|
||||||
<title>Category:FR:Traduction incomplète - OpenStreetMap Wiki</title>
|
<title>Category:FR:Traduction incomplète - OpenStreetMap Wiki</title>
|
||||||
<script>document.documentElement.className="client-js";RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"112b28409c26e53c5b5b43c3","wgCSPNonce":false,"wgCanonicalNamespace":"Category","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":14,"wgPageName":"Category:FR:Traduction_incomplète","wgTitle":"FR:Traduction incomplète","wgCurRevisionId":1434898,"wgRevisionId":1434898,"wgArticleId":145786,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Translation not complete/translations","FR:Traduction du wiki"],"wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Category:FR:Traduction_incomplète","wgRelevantArticleId":145786,"wgIsProbablyEditable":false,
|
<script>document.documentElement.className="client-js";RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"b0d07ecf0525936f776f49fd","wgCSPNonce":false,"wgCanonicalNamespace":"Category","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":14,"wgPageName":"Category:FR:Traduction_incomplète","wgTitle":"FR:Traduction incomplète","wgCurRevisionId":1434898,"wgRevisionId":1434898,"wgArticleId":145786,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Translation not complete/translations","FR:Traduction du wiki"],"wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Category:FR:Traduction_incomplète","wgRelevantArticleId":145786,"wgIsProbablyEditable":false,
|
||||||
"wgRelevantPageIsProbablyEditable":false,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgMFDisplayWikibaseDescriptions":{"search":false,"nearby":false,"watchlist":false,"tagline":false},"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgULSAcceptLanguageList":[],"wgULSCurrentAutonym":"English","wgVector2022PreviewPages":[],"wgEditSubmitButtonLabelPublish":false,"wgULSPosition":"personal","wgULSisCompactLinksEnabled":true};RLSTATE={"site.styles":"ready","user.styles":"ready","user":"ready","user.options":"loading","mediawiki.action.styles":"ready","mediawiki.helplink":"ready","skins.vector.styles.legacy":"ready","ext.OsmWikibase-all":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.tmh.player.styles":"ready","ext.uls.pt":"ready"};RLPAGEMODULES=["site","mediawiki.page.ready","skins.vector.legacy.js","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.gadget.taginfo",
|
"wgRelevantPageIsProbablyEditable":false,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgMFDisplayWikibaseDescriptions":{"search":false,"nearby":false,"watchlist":false,"tagline":false},"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgULSAcceptLanguageList":[],"wgULSCurrentAutonym":"English","wgVector2022PreviewPages":[],"wgEditSubmitButtonLabelPublish":false,"wgULSPosition":"personal","wgULSisCompactLinksEnabled":true};RLSTATE={"site.styles":"ready","user.styles":"ready","user":"ready","user.options":"loading","mediawiki.action.styles":"ready","mediawiki.helplink":"ready","skins.vector.styles.legacy":"ready","ext.OsmWikibase-all":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.tmh.player.styles":"ready","ext.uls.pt":"ready"};RLPAGEMODULES=["site","mediawiki.page.ready","skins.vector.legacy.js","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.gadget.taginfo",
|
||||||
"ext.gadget.dataitemlinks","ext.tmh.player","ext.uls.compactlinks","ext.uls.interface"];</script>
|
"ext.gadget.dataitemlinks","ext.tmh.player","ext.uls.compactlinks","ext.uls.interface"];</script>
|
||||||
<script>(RLQ=window.RLQ||[]).push(function(){mw.loader.implement("user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"});});});</script>
|
<script>(RLQ=window.RLQ||[]).push(function(){mw.loader.implement("user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"});});});</script>
|
||||||
@ -414,6 +414,6 @@ Transclusion expansion time report (%,ms,calls,template)
|
|||||||
|
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
<script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgPageParseReport":{"limitreport":{"cputime":"0.084","walltime":"0.132","ppvisitednodes":{"value":517,"limit":1000000},"postexpandincludesize":{"value":23048,"limit":2097152},"templateargumentsize":{"value":926,"limit":2097152},"expansiondepth":{"value":10,"limit":100},"expensivefunctioncount":{"value":13,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":0,"limit":5000000},"entityaccesscount":{"value":0,"limit":250},"timingprofile":["100.00% 90.550 1 -total"," 81.48% 73.778 1 Template:Languages"," 18.21% 16.487 2 Template:Tl"," 1.77% 1.606 1 Template:Purge"]},"scribunto":{"limitreport-timeusage":{"value":"0.040","limit":"15"},"limitreport-virtmemusage":{"value":6246400,"limit":52428800},"limitreport-estmemusage":0},"cachereport":{"timestamp":"20230303065314","ttl":86400,"transientcontent":false}}});mw.config.set({"wgBackendResponseTime":169});});</script>
|
<script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgPageParseReport":{"limitreport":{"cputime":"0.084","walltime":"0.132","ppvisitednodes":{"value":517,"limit":1000000},"postexpandincludesize":{"value":23048,"limit":2097152},"templateargumentsize":{"value":926,"limit":2097152},"expansiondepth":{"value":10,"limit":100},"expensivefunctioncount":{"value":13,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":0,"limit":5000000},"entityaccesscount":{"value":0,"limit":250},"timingprofile":["100.00% 90.550 1 -total"," 81.48% 73.778 1 Template:Languages"," 18.21% 16.487 2 Template:Tl"," 1.77% 1.606 1 Template:Purge"]},"scribunto":{"limitreport-timeusage":{"value":"0.040","limit":"15"},"limitreport-virtmemusage":{"value":6246400,"limit":52428800},"limitreport-estmemusage":0},"cachereport":{"timestamp":"20230303065314","ttl":86400,"transientcontent":false}}});mw.config.set({"wgBackendResponseTime":208});});</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
@ -1,56 +1,43 @@
|
|||||||
import fs from "fs";
|
|
||||||
import path from 'path';
|
|
||||||
import sendPostMastodon, {
|
import sendPostMastodon, {
|
||||||
randomIntFromInterval,
|
getArticlesFromDaysInRssFeed,
|
||||||
findFirstImageInContent,
|
makeTitleContentFromRss,
|
||||||
findPictureAndSendPost,
|
parseRssFeed,
|
||||||
} from './utils.mjs'
|
folderBlogPostsPreview
|
||||||
|
} from "./utils.mjs";
|
||||||
|
|
||||||
const __dirname = path.resolve();
|
const afis_rss_feed_url = 'https://afis.org/rss.xml';
|
||||||
const afis_rss_feed ='';
|
const days_back_in_rss_feed = 7;
|
||||||
const days_back_in_rss_feed= 7;
|
|
||||||
let reallySendPost = false;
|
async function postLink() {
|
||||||
// reallySendPost = true;
|
|
||||||
|
console.log("envoi de post des articles afis sciences publiés depuis " + days_back_in_rss_feed + " jours par le compte tykayn")
|
||||||
|
|
||||||
|
|
||||||
|
let parsedFeed = await parseRssFeed(afis_rss_feed_url)
|
||||||
function getArticlesFromDaysInRssFeed(rss_feed , days=7) {
|
let articles = await getArticlesFromDaysInRssFeed(parsedFeed, days_back_in_rss_feed)
|
||||||
|
console.log('articles', articles)
|
||||||
return rss_feed;
|
let contentOfPost = 'Articles des ' + days_back_in_rss_feed + ' derniers jours sur le site web de l\'AFIS: \n'
|
||||||
}
|
+ makeTitleContentFromRss(articles)
|
||||||
|
|
||||||
function makeTitleContentFromRss(rss_feed) {
|
|
||||||
|
|
||||||
let content = ''
|
|
||||||
|
|
||||||
return content;
|
|
||||||
}
|
|
||||||
|
|
||||||
function postLink() {
|
|
||||||
|
|
||||||
console.log("envoi de post des articles afis sciences publiés depuis "+days_back_in_rss_feed+" jours par le compte tykayn")
|
|
||||||
console.log(postObject)
|
|
||||||
|
|
||||||
let contentOfPost = 'Articles des '+days_back_in_rss_feed+' derniers jours sur le site web de l\'AFIS: '+ makeTitleContentFromRss(getArticlesFromDaysInRssFeed(afis_rss_feed))
|
|
||||||
|
|
||||||
let configPost = {
|
let configPost = {
|
||||||
author: 'afis91',
|
author: 'afis91',
|
||||||
website: 'afis.org',
|
website: 'afis.org',
|
||||||
slug: postObject.post_name,
|
// disable_slugify: true,
|
||||||
postObject,
|
slug: "afis_picture",
|
||||||
folder_image: folderBlogPostsPreview,
|
content_type: "text/markdown",
|
||||||
image: findFirstImageInContent(afis_rss_feed),
|
folder_image: process.cwd() + '/assets/',
|
||||||
// image : 'afis_post_' + randomIntFromInterval(1 , 1) + '.jpg',
|
image: "afis_picture_of_the_day.jpg",
|
||||||
message: `# ${contentOfPost}
|
message: `# ${contentOfPost}
|
||||||
* #afis #science #pseudoScience`,
|
|
||||||
reallySendPost
|
#afis #science #pseudoScience #hebdo`,
|
||||||
}
|
}
|
||||||
console.log("configPost.message", configPost.message)
|
console.log("configPost.message", configPost.message)
|
||||||
console.log("configPost.image", configPost.image)
|
console.log("configPost.image", configPost.image)
|
||||||
|
|
||||||
|
|
||||||
findPictureAndSendPost(postObject.content.rendered, configPost)
|
// console.log('process.cwd() + \'/assets/blog_posts_medias/\'', process.cwd() + '/assets/blog_posts_medias/')
|
||||||
console.log("post ID: ", postObject.ID)
|
sendPostMastodon(configPost)
|
||||||
}
|
}
|
||||||
|
|
||||||
postLink();
|
postLink();
|
@ -7,7 +7,8 @@ import https from 'https';
|
|||||||
|
|
||||||
let local_node_env_conf = dotenv.config()
|
let local_node_env_conf = dotenv.config()
|
||||||
const myArgs = process.argv.slice(2);
|
const myArgs = process.argv.slice(2);
|
||||||
let reallySendPost = hasCliArgument('--force');
|
export const reallySendPost = hasCliArgument('--force');
|
||||||
|
export const folderBlogPostsPreview = process.cwd() + '/assets/blog_posts_medias/'
|
||||||
|
|
||||||
export function randomIntFromInterval(min, max) { // min and max included
|
export function randomIntFromInterval(min, max) { // min and max included
|
||||||
return Math.floor(Math.random() * (max - min + 1) + min) | 1
|
return Math.floor(Math.random() * (max - min + 1) + min) | 1
|
||||||
@ -25,12 +26,14 @@ export let defaultConfigMasto = {
|
|||||||
visibility: 'public',
|
visibility: 'public',
|
||||||
language: 'fr',
|
language: 'fr',
|
||||||
sensitive: false,
|
sensitive: false,
|
||||||
|
disable_slugify:false,
|
||||||
reallySendPost,
|
reallySendPost,
|
||||||
image: '',
|
image: '',
|
||||||
folder_image: process.cwd() + '/assets/blog_posts_medias/',
|
folder_image: process.cwd() + '/assets/blog_posts_medias/',
|
||||||
message: "Hey coucou! on est le" + nowDate,
|
message: "Hey coucou! on est le" + nowDate,
|
||||||
scheduled_at: "",
|
scheduled_at: "",
|
||||||
content_type: "text/markdown",
|
scheduled_at_bool: false,
|
||||||
|
content_type: "text/markdown",
|
||||||
website: 'qzine',
|
website: 'qzine',
|
||||||
slug: 'default_post_title',
|
slug: 'default_post_title',
|
||||||
postObject : {},
|
postObject : {},
|
||||||
@ -58,7 +61,10 @@ export default function sendPostMastodon(config) {
|
|||||||
// console.log("sendPostMastodon config", config)
|
// console.log("sendPostMastodon config", config)
|
||||||
|
|
||||||
if (!config.reallySendPost) {
|
if (!config.reallySendPost) {
|
||||||
console.log("\n =========== le message ne sera PAS réellement posté sur le compte @" + config.author + "@" + process.env.INSTANCE_MASTODON + " =========== \n")
|
|
||||||
|
console.log("\n\n =========== le message ne sera PAS réellement posté sur le compte @" + config.author + "@" + process.env.INSTANCE_MASTODON + " =========== \n")
|
||||||
|
console.log('configPost.folder_image', config.folder_image)
|
||||||
|
console.log('config', config)
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
console.log(" ")
|
console.log(" ")
|
||||||
@ -92,6 +98,7 @@ export default function sendPostMastodon(config) {
|
|||||||
* envoi sans fichier joint
|
* envoi sans fichier joint
|
||||||
*/
|
*/
|
||||||
if (!config.image) {
|
if (!config.image) {
|
||||||
|
console.log('pas d image dans la config')
|
||||||
|
|
||||||
if (config.reallySendPost) {
|
if (config.reallySendPost) {
|
||||||
|
|
||||||
@ -112,9 +119,9 @@ export default function sendPostMastodon(config) {
|
|||||||
else if (config.image) {
|
else if (config.image) {
|
||||||
|
|
||||||
var id;
|
var id;
|
||||||
console.log("envoi du média", config.image)
|
console.log("envoi du média", config.folder_image +config.image)
|
||||||
// upload new media
|
// upload new media
|
||||||
return masto.post('media', {file: fs.createReadStream(config.image)})
|
return masto.post('media', {file: fs.createReadStream(config.folder_image +config.image)})
|
||||||
.then(resp => {
|
.then(resp => {
|
||||||
id = resp.data.id;
|
id = resp.data.id;
|
||||||
params.media_ids = [id]
|
params.media_ids = [id]
|
||||||
@ -268,7 +275,7 @@ export function downloadImage(url, filepath) {
|
|||||||
* @returns {Promise<Object>}
|
* @returns {Promise<Object>}
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
export function CropPictue(pictureName, width = 500, height = 300) {
|
export function CropPicture(pictureName, width = 500, height = 300) {
|
||||||
|
|
||||||
return sharp(pictureName)
|
return sharp(pictureName)
|
||||||
|
|
||||||
@ -301,18 +308,21 @@ export function getRandomLinkGeneral(tkpostsjson) {
|
|||||||
export function findPictureAndSendPost(postContent, configPost){
|
export function findPictureAndSendPost(postContent, configPost){
|
||||||
|
|
||||||
let firstPictureSource = findFirstImageInContent(postContent);
|
let firstPictureSource = findFirstImageInContent(postContent);
|
||||||
let filePathImage = `${configPost.folder_image}_${configPost.website}_media_post_${slugify(configPost.slug)}.jpg`
|
|
||||||
|
|
||||||
|
let filePathForDownloadedImage = `${configPost.folder_image}_${configPost.website}_media_post_${slugify(configPost.slug)}.jpg`
|
||||||
|
|
||||||
if (firstPictureSource) {
|
if (firstPictureSource) {
|
||||||
console.log("firstPictureSource found", firstPictureSource)
|
console.log("firstPictureSource found", firstPictureSource)
|
||||||
|
|
||||||
// check if picture already exist
|
// check if picture already exist
|
||||||
console.log('on envoie le média et l image : ' , filePathImage)
|
console.log('on envoie le média et l image : ' , filePathForDownloadedImage)
|
||||||
downloadImage(firstPictureSource, filePathImage)
|
downloadImage(firstPictureSource, filePathForDownloadedImage)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
// suite du poste avec upload d'image
|
// suite du poste avec upload d'image
|
||||||
|
|
||||||
console.log('média téléchargé, on envoie le post')
|
console.log('média téléchargé, on envoie le post')
|
||||||
configPost.image = filePathImage;
|
configPost.image = filePathForDownloadedImage;
|
||||||
|
|
||||||
sendPostMastodon(configPost)
|
sendPostMastodon(configPost)
|
||||||
|
|
||||||
@ -347,4 +357,58 @@ export function hasCliArgument(argument){
|
|||||||
console.log('myArgs: ', myArgs);
|
console.log('myArgs: ', myArgs);
|
||||||
return myArgs.indexOf(argument) !== -1
|
return myArgs.indexOf(argument) !== -1
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
import Parser from 'rss-parser';
|
||||||
|
|
||||||
|
let parser = new Parser();
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* fetch and return a parsed rss feed
|
||||||
|
* @param url
|
||||||
|
* @returns {Promise<*>}
|
||||||
|
*/
|
||||||
|
export async function parseRssFeed(url){
|
||||||
|
let parsedFeed = await parser.parseURL(url);
|
||||||
|
|
||||||
|
console.log(parsedFeed.title);
|
||||||
|
|
||||||
|
parsedFeed.items.forEach((item) => {
|
||||||
|
console.log(item.title);
|
||||||
|
});
|
||||||
|
return parsedFeed
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get a subset of rss parsed items
|
||||||
|
* @param parsedRssFeed
|
||||||
|
* @param days
|
||||||
|
* @returns {T[]}
|
||||||
|
*/
|
||||||
|
export function getArticlesFromDaysInRssFeed(parsedRssFeed , days=7) {
|
||||||
|
|
||||||
|
// return parsedRssFeed.items.splice(0,days);
|
||||||
|
return parsedRssFeed.items.splice(0,6);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export function makeTitleContentFromRss(parsedFeed) {
|
||||||
|
|
||||||
|
let content = ''
|
||||||
|
let counter = 0;
|
||||||
|
if (!parsedFeed.length) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
parsedFeed.forEach((item) => {
|
||||||
|
// if (!counter) {
|
||||||
|
// console.log('first item', item)
|
||||||
|
// }
|
||||||
|
let cleanedTitle= item.title.replace('[','').trim()
|
||||||
|
cleanedTitle= cleanedTitle.replace(']','').trim()
|
||||||
|
content += `\n* [${cleanedTitle}](${item.link}) `;
|
||||||
|
content += `\n ${item.isoDate.substring(0,10)} : ${item.contentSnippet.split('\n')[0]} \n`;
|
||||||
|
counter++;
|
||||||
|
});
|
||||||
|
return content;
|
||||||
|
}
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
"node-fs": "^0.1.7",
|
"node-fs": "^0.1.7",
|
||||||
"nodemon": "^2.0.19",
|
"nodemon": "^2.0.19",
|
||||||
"oauth": "^0.9.15",
|
"oauth": "^0.9.15",
|
||||||
|
"rss-parser": "^3.12.0",
|
||||||
"sqlite3": "^5.0.8",
|
"sqlite3": "^5.0.8",
|
||||||
"squint-cli": "^2.1.4",
|
"squint-cli": "^2.1.4",
|
||||||
"webpage": "^0.3.0"
|
"webpage": "^0.3.0"
|
||||||
|
Loading…
Reference in New Issue
Block a user