<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.neoksaal.com/index.php?action=history&amp;feed=atom&amp;title=User%3ANeoksaal%2FProjects%2Fgood%3Abad_bad%3Agood%2Fcookbook</id>
	<title>User:Neoksaal/Projects/good:bad bad:good/cookbook - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.neoksaal.com/index.php?action=history&amp;feed=atom&amp;title=User%3ANeoksaal%2FProjects%2Fgood%3Abad_bad%3Agood%2Fcookbook"/>
	<link rel="alternate" type="text/html" href="https://wiki.neoksaal.com/index.php?title=User:Neoksaal/Projects/good:bad_bad:good/cookbook&amp;action=history"/>
	<updated>2026-07-22T01:44:37Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://wiki.neoksaal.com/index.php?title=User:Neoksaal/Projects/good:bad_bad:good/cookbook&amp;diff=78&amp;oldid=prev</id>
		<title>Neoksaal: Created page with &quot;=html page= &#039;&#039;&#039;[https://neoksaal.com/good:bad_bad:good/ online now (fix the - thing tomorrow)]&#039;&#039;&#039; &lt;br&gt; ==p5js== * [https://www.w3schools.com/jsref/jsref_match.asp match() w3c] * [https://editor.p5js.org/aferriss/sketches/ryZoXYB-X replace() p5js example], [https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace mdn docs] * [https://p5js.org/reference/p5/text/ text()] * [https://p5js.org/reference/p5/textWidth/ textWidth()] * [https...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.neoksaal.com/index.php?title=User:Neoksaal/Projects/good:bad_bad:good/cookbook&amp;diff=78&amp;oldid=prev"/>
		<updated>2026-07-21T18:11:27Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;=html page= &amp;#039;&amp;#039;&amp;#039;[https://neoksaal.com/good:bad_bad:good/ online now (fix the - thing tomorrow)]&amp;#039;&amp;#039;&amp;#039; &amp;lt;br&amp;gt; ==p5js== * [https://www.w3schools.com/jsref/jsref_match.asp match() w3c] * [https://editor.p5js.org/aferriss/sketches/ryZoXYB-X replace() p5js example], [https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace mdn docs] * [https://p5js.org/reference/p5/text/ text()] * [https://p5js.org/reference/p5/textWidth/ textWidth()] * [https...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=html page=&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[https://neoksaal.com/good:bad_bad:good/ online now (fix the - thing tomorrow)]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==p5js==&lt;br /&gt;
* [https://www.w3schools.com/jsref/jsref_match.asp match() w3c]&lt;br /&gt;
* [https://editor.p5js.org/aferriss/sketches/ryZoXYB-X replace() p5js example], [https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace mdn docs]&lt;br /&gt;
* [https://p5js.org/reference/p5/text/ text()]&lt;br /&gt;
* [https://p5js.org/reference/p5/textWidth/ textWidth()]&lt;br /&gt;
* [https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce reduce() mdn docs]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==API==&lt;br /&gt;
===headlines===&lt;br /&gt;
https://newsapi.org/docs/endpoints/top-headlines woah!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;free plan&amp;quot; only allows 100 api requests per day and i get the articles with 24 hours delay hm&amp;lt;br&amp;gt;&lt;br /&gt;
how long would it take for one cycle to finish then?&amp;lt;br&amp;gt;&lt;br /&gt;
think 100 request a day is an ample amount&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
https://docs.gnews.io/endpoints/top-headlines-endpoint&amp;lt;br&amp;gt;&lt;br /&gt;
better, only 12 hours delay instead of 24. also much cheaper subscription fee with 7days free trial.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
can&amp;#039;t work with neither of them apparently due to CORS&amp;lt;br&amp;gt;&lt;br /&gt;
for now i will just get them through terminal and copy and past to js file&amp;lt;br&amp;gt;&lt;br /&gt;
 curl -s &amp;quot;https://newsapi.org/v2/everything?q=world&amp;amp;language=en&amp;amp;pageSize=100&amp;amp;apiKey=eaff3186acf14d0788bc88b52c8e5a12&amp;quot; | python3 -c &amp;quot;import sys, json; data = json.load(sys.stdin); articles = data.get(&amp;#039;articles&amp;#039;, []); [print(f&amp;#039;\&amp;quot;{a[\&amp;quot;title\&amp;quot;].split(\&amp;quot; - \&amp;quot;)[0].replace(\&amp;quot;\\\&amp;quot;\&amp;quot;, \&amp;quot;\&amp;quot;).strip()}\&amp;quot;,&amp;#039;) for a in articles]&amp;quot;&lt;br /&gt;
try with different searches to get more interesting outcome. dont want predominantly U.S. related headlines.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
last week&amp;#039;s news headlines that has &amp;quot;good&amp;quot; in it&lt;br /&gt;
 curl -s &amp;quot;https://newsapi.org/v2/everything?qInTitle=good&amp;amp;language=en&amp;amp;pageSize=100&amp;amp;from=2026-03-15&amp;amp;to=2026-03-22&amp;amp;apiKey=eaff3186acf14d0788bc88b52c8e5a12&amp;quot; | python3 -c &amp;quot;import sys, json; data = json.load(sys.stdin); articles = data.get(&amp;#039;articles&amp;#039;, []); [print(f&amp;#039;\&amp;quot;{a[\&amp;quot;title\&amp;quot;].split(\&amp;quot; - \&amp;quot;)[0].replace(\&amp;quot;\\\&amp;quot;\&amp;quot;, \&amp;quot;\&amp;quot;).strip()}\&amp;quot;,&amp;#039;) for a in articles]&amp;quot;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===headlines from 100 years ago===&lt;br /&gt;
[https://www.loc.gov/newspapers/?dates=1900/1949 Library of Congress, massive archive but all scanned images]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://guides.loc.gov/chronicling-america/additional-features Library of Congress API]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://developer.nytimes.com/docs/archive-product/1/overview New York Times API archive]&amp;lt;br&amp;gt;&lt;br /&gt;
would be cute? to see those headlines slide through the ticker but i can&amp;#039;t really develop it further atm&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=ticker=&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=swapping rules=&lt;br /&gt;
 good : bad&lt;br /&gt;
 bad : good&lt;/div&gt;</summary>
		<author><name>Neoksaal</name></author>
	</entry>
</feed>