<feed xmlns='http://www.w3.org/2005/Atom'>
<title>weepinbell/resources/config.edn, branch master</title>
<subtitle>A Webmention receiver written in Clojure</subtitle>
<link rel='alternate' type='text/html' href='https://git.eltr.ac/weepinbell.git/'/>
<entry>
<title>storage/h2: optimize H2 database performance</title>
<updated>2026-10-24T10:17:08+00:00</updated>
<author>
<name>eltrac</name>
<email>hi@eltr.ac</email>
</author>
<published>2026-10-24T09:50:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.eltr.ac/weepinbell.git/commit/?id=c54bece1a02a6ade615492f09792c17c75b69c95'/>
<id>c54bece1a02a6ade615492f09792c17c75b69c95</id>
<content type='text'>
- use LEFT JOIN instead of making multiple queries
- put insert/update inside transactions
- add indexes
- fix configuration description
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- use LEFT JOIN instead of making multiple queries
- put insert/update inside transactions
- add indexes
- fix configuration description
</pre>
</div>
</content>
</entry>
<entry>
<title>core: add embeded nREPL server</title>
<updated>2026-10-21T02:18:00+00:00</updated>
<author>
<name>eltrac</name>
<email>hi@eltr.ac</email>
</author>
<published>2026-10-20T08:38:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.eltr.ac/weepinbell.git/commit/?id=4ab2ebf1f90170a8f9436f5260b4c740a447baf4'/>
<id>4ab2ebf1f90170a8f9436f5260b4c740a447baf4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>doc: update User Manual, Contributors' Guide, Philosphy and comment config.edn</title>
<updated>2026-10-16T09:29:36+00:00</updated>
<author>
<name>eltrac</name>
<email>hi@eltr.ac</email>
</author>
<published>2026-10-16T08:12:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.eltr.ac/weepinbell.git/commit/?id=d8b39437a067d01857998aafec88ca7f2ca6e8d4'/>
<id>d8b39437a067d01857998aafec88ca7f2ca6e8d4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Implement SQLite storage #7 (#73)</title>
<updated>2026-10-16T06:44:26+00:00</updated>
<author>
<name>eltrac</name>
<email>hi@eltr.ac</email>
</author>
<published>2026-10-16T06:44:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.eltr.ac/weepinbell.git/commit/?id=1db02376cd50e604973d17fd4a04f6e1969fc53c'/>
<id>1db02376cd50e604973d17fd4a04f6e1969fc53c</id>
<content type='text'>
- new config `:storage-type` (default `:edn`, also support `:sqlite`)
- `LICENSE` change: add exceptions to `next.jdbc` (which uses EPL)

Reviewed-on: https://codeberg.org/eltrac/weepinbell/pulls/73
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- new config `:storage-type` (default `:edn`, also support `:sqlite`)
- `LICENSE` change: add exceptions to `next.jdbc` (which uses EPL)

Reviewed-on: https://codeberg.org/eltrac/weepinbell/pulls/73
</pre>
</div>
</content>
</entry>
<entry>
<title>core: allow configuring minimal log level, default :info</title>
<updated>2026-10-15T08:39:07+00:00</updated>
<author>
<name>eltrac</name>
<email>hi@eltr.ac</email>
</author>
<published>2026-10-15T08:39:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.eltr.ac/weepinbell.git/commit/?id=127f0738a2097db35d85188beb124a6ea28b8e16'/>
<id>127f0738a2097db35d85188beb124a6ea28b8e16</id>
<content type='text'>
- refactored weepinbell.core/start-system. moved config loading outside
start-system, loaded in -main function.
- use :log-level in config and set timbre :min-level in -main
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- refactored weepinbell.core/start-system. moved config loading outside
start-system, loaded in -main function.
- use :log-level in config and set timbre :min-level in -main
</pre>
</div>
</content>
</entry>
<entry>
<title>processor: concurrently starts multiple pipeline loops</title>
<updated>2026-10-15T08:09:40+00:00</updated>
<author>
<name>eltrac</name>
<email>hi@eltr.ac</email>
</author>
<published>2026-10-15T07:02:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.eltr.ac/weepinbell.git/commit/?id=9aae86ada1418058b54bd2b3b0a05f98ef04ba63'/>
<id>9aae86ada1418058b54bd2b3b0a05f98ef04ba63</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fe: backend should be frontend-agnostic</title>
<updated>2026-10-08T07:13:11+00:00</updated>
<author>
<name>eltrac</name>
<email>hi@eltr.ac</email>
</author>
<published>2026-10-08T07:13:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.eltr.ac/weepinbell.git/commit/?id=ea3a702c260ab85aa4064c450440405e845d67e8'/>
<id>ea3a702c260ab85aa4064c450440405e845d67e8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fe: new frontend in cljs, pluggable #8</title>
<updated>2026-10-04T09:07:08+00:00</updated>
<author>
<name>eltrac</name>
<email>hi@eltr.ac</email>
</author>
<published>2026-09-30T06:08:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.eltr.ac/weepinbell.git/commit/?id=b13b6ad1c2e9127412583760ff3d75e0e958e207'/>
<id>b13b6ad1c2e9127412583760ff3d75e0e958e207</id>
<content type='text'>
- remove deprecated weepinbell.ui
- create a ClojureScript project named bellsprout
  - use vanilla cljs and Pico CSS
  - can find and send webmentions in/to weepinbell
  - display webmentions in cards
  - &lt;noscript&gt; reminder
- embed frontend in weepinbell
  - opt-in, weepinbell can work without a frontend
  - serve static files from disk for now; might support a simple reverse
proxy in the future
- test frontend route (OK when enabled; 404 when disabled)

fe: ?show param that shows webmentions when set to true

equivalent of clicking "Find" button manually
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- remove deprecated weepinbell.ui
- create a ClojureScript project named bellsprout
  - use vanilla cljs and Pico CSS
  - can find and send webmentions in/to weepinbell
  - display webmentions in cards
  - &lt;noscript&gt; reminder
- embed frontend in weepinbell
  - opt-in, weepinbell can work without a frontend
  - serve static files from disk for now; might support a simple reverse
proxy in the future
- test frontend route (OK when enabled; 404 when disabled)

fe: ?show param that shows webmentions when set to true

equivalent of clicking "Find" button manually
</pre>
</div>
</content>
</entry>
<entry>
<title>processor, webhook: send webhooks with customizable payload</title>
<updated>2026-09-19T04:10:45+00:00</updated>
<author>
<name>eltrac</name>
<email>hi@eltr.ac</email>
</author>
<published>2026-09-16T09:03:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.eltr.ac/weepinbell.git/commit/?id=ef9ca471427b636c1fa42244923a04c548a04d82'/>
<id>ef9ca471427b636c1fa42244923a04c548a04d82</id>
<content type='text'>
- processor will call hook functions with webmention data
- refactor webhook.clj massively
- add dynamic parameter substitution for urls, e.g. {source} {target}
{event}......
- add config option :webhook-request, a function with parameters [hook,
data] that returns a map (resembling {:headers ... :body ...}).
webhook.clj uses this function to generate payload.
- allow map besids URL string in config option :webhook. if it's a URL,
sends webhook request to it with payload generated by :webhook-request;
if it's a map, it should be like {:url ... :request-fn ...}, which
specifies a payload generator.
- add request-fn preset :ntfy
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- processor will call hook functions with webmention data
- refactor webhook.clj massively
- add dynamic parameter substitution for urls, e.g. {source} {target}
{event}......
- add config option :webhook-request, a function with parameters [hook,
data] that returns a map (resembling {:headers ... :body ...}).
webhook.clj uses this function to generate payload.
- allow map besids URL string in config option :webhook. if it's a URL,
sends webhook request to it with payload generated by :webhook-request;
if it's a map, it should be like {:url ... :request-fn ...}, which
specifies a payload generator.
- add request-fn preset :ntfy
</pre>
</div>
</content>
</entry>
<entry>
<title>fix: port should be string not integer</title>
<updated>2026-05-12T03:37:48+00:00</updated>
<author>
<name>eltrac</name>
<email>hi@eltr.ac</email>
</author>
<published>2026-05-12T03:37:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.eltr.ac/weepinbell.git/commit/?id=3e4e0d4a1cf442022eb6e35cf598191403d42ff3'/>
<id>3e4e0d4a1cf442022eb6e35cf598191403d42ff3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
