<feed xmlns='http://www.w3.org/2005/Atom'>
<title>jarink/link.go, branch main</title>
<subtitle>Program to inspects and maintains web sites.</subtitle>
<id>http://git.kilabit.info/jarink/atom?h=main</id>
<link rel='self' href='http://git.kilabit.info/jarink/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/jarink/'/>
<updated>2026-02-11T18:04:40Z</updated>
<entry>
<title>brokenlinks: store the anchor or image source in link</title>
<updated>2026-02-11T18:04:40Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2026-02-11T18:04:40Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/jarink/commit/?id=9c7ee77376294e9abd70ca356e26d0ab16ad7466'/>
<id>urn:sha1:9c7ee77376294e9abd70ca356e26d0ab16ad7466</id>
<content type='text'>
In the struct Link, we add field Value that store the href from A element
or src from IMG element.
This allow us to debug any error during scan, especially joining path
and link.
</content>
</entry>
<entry>
<title>all: refactoring, use single struct to represent Link</title>
<updated>2026-01-21T18:39:41Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2026-01-21T18:39:41Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/jarink/commit/?id=79eaccc81b85eb92dab9cf18d52662f367903652'/>
<id>urn:sha1:79eaccc81b85eb92dab9cf18d52662f367903652</id>
<content type='text'>
Previously, have [jarink.Link], [brokenlinks.Broken], and
[brokenlinks.linkQueue] to store the metadata for a link.

These changes unified them into struct [jarink.Link].
</content>
</entry>
<entry>
<title>brokenlinks: refactoring the logic, simplify the code</title>
<updated>2026-01-21T17:27:18Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2026-01-21T17:27:18Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/jarink/commit/?id=26fc8bd3203dae6b4705ada227439c90129bbe36'/>
<id>urn:sha1:26fc8bd3203dae6b4705ada227439c90129bbe36</id>
<content type='text'>
Previously, we made the scan logic to run in multiple goroutine with
one channel to push and consume the result and another channel to push
and pop link to be processed.
The logic is a very complicated code, making it hard to read and debug.

These changes refactoring it to use single goroutine that push and pop
link from/to a slices, as queue.
</content>
</entry>
</feed>
