<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Kemal Kaya</title>
    <description>The latest articles on DEV Community by Kemal Kaya (@yoldaolmak).</description>
    <link>https://dev.to/yoldaolmak</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4032327%2F0af4af59-34cc-4a40-add0-cb61809f981c.jpg</url>
      <title>DEV Community: Kemal Kaya</title>
      <link>https://dev.to/yoldaolmak</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/yoldaolmak"/>
    <language>en</language>
    <item>
      <title>The last mile of publishing: turning article headings into Gutenberg image plans</title>
      <dc:creator>Kemal Kaya</dc:creator>
      <pubDate>Tue, 11 Aug 2026 05:06:42 +0000</pubDate>
      <link>https://dev.to/yoldaolmak/the-last-mile-of-publishing-turning-article-headings-into-gutenberg-image-plans-k23</link>
      <guid>https://dev.to/yoldaolmak/the-last-mile-of-publishing-turning-article-headings-into-gutenberg-image-plans-k23</guid>
      <description>&lt;p&gt;When an article is ready to publish, the visual work is often not finished.&lt;/p&gt;

&lt;p&gt;At Yoldaolmak.com, I kept seeing the same manual loop: find an image that fits each section, check its license, write alt text and a caption, upload it to WordPress, and place the Gutenberg block at the right point. It is repetitive work, but the mistakes are not small: skipped alt text, unclear provenance, and images that do not match the section they sit beside.&lt;/p&gt;

&lt;p&gt;I built Pictovap to make that last mile an inspectable workflow:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Markdown or Gutenberg HTML
  -&amp;gt; Visual Brief
  -&amp;gt; candidate Fit Scores
  -&amp;gt; Provenance Pack
  -&amp;gt; CMS Placement plan
  -&amp;gt; editor-readable report
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The important design choice is that the output is a plan before it is a publish action. An editor can review the selected image, the reason it fits, the license and attribution fields, the generated metadata, and the target placement before a CMS adapter writes anything.&lt;/p&gt;

&lt;p&gt;The demo has no API keys and makes no network calls:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;pictovap
pictovap demo
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;WordPress/Gutenberg is the first integration, but the core stays adapter-based: image sources, CMS targets, renderers, and publisher profiles are public extension points. The project also includes a side-effect-free validator and an audit command for coverage, provenance, alt text, review queues, and duplicate selections.&lt;/p&gt;

&lt;p&gt;If you build Markdown-to-WordPress tooling, Gutenberg workflows, media-library automation, or another CMS adapter, I would value practical feedback on where this visual-planning boundary fits your workflow.&lt;/p&gt;

&lt;p&gt;Repository: &lt;a href="https://github.com/yoldaolmak/Pictovap" rel="noopener noreferrer"&gt;https://github.com/yoldaolmak/Pictovap&lt;/a&gt;&lt;br&gt;
Framework guide: &lt;a href="https://github.com/yoldaolmak/Pictovap/blob/main/docs/framework.md" rel="noopener noreferrer"&gt;https://github.com/yoldaolmak/Pictovap/blob/main/docs/framework.md&lt;/a&gt;&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>wordpress</category>
      <category>python</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Looking for 3 tiny first PRs around WordPress/Gutenberg image placement</title>
      <dc:creator>Kemal Kaya</dc:creator>
      <pubDate>Wed, 29 Jul 2026 09:13:01 +0000</pubDate>
      <link>https://dev.to/yoldaolmak/looking-for-3-tiny-first-prs-around-wordpressgutenberg-image-placement-5caf</link>
      <guid>https://dev.to/yoldaolmak/looking-for-3-tiny-first-prs-around-wordpressgutenberg-image-placement-5caf</guid>
      <description>&lt;p&gt;Pictovap is looking for 3 tiny first PRs around WordPress/Gutenberg image placement.&lt;/p&gt;

&lt;p&gt;No API keys, no live WordPress site, no private article content.&lt;/p&gt;

&lt;p&gt;Good fit if you know Python, WordPress blocks, Markdown publishing, CMS automation, or image metadata.&lt;/p&gt;

&lt;p&gt;Start here:&lt;br&gt;
&lt;a href="https://github.com/yoldaolmak/Pictovap/discussions/61" rel="noopener noreferrer"&gt;https://github.com/yoldaolmak/Pictovap/discussions/61&lt;/a&gt;&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>python</category>
      <category>wordpress</category>
      <category>github</category>
    </item>
    <item>
      <title>Building an Honest Plugin Runtime for Publishing Automation in Python</title>
      <dc:creator>Kemal Kaya</dc:creator>
      <pubDate>Thu, 16 Jul 2026 14:13:31 +0000</pubDate>
      <link>https://dev.to/yoldaolmak/building-an-honest-plugin-runtime-for-publishing-automation-in-python-5d5o</link>
      <guid>https://dev.to/yoldaolmak/building-an-honest-plugin-runtime-for-publishing-automation-in-python-5d5o</guid>
      <description>&lt;p&gt;Most publishing automation breaks at the integration boundary.&lt;/p&gt;

&lt;p&gt;A project may define a clean provider interface, discover a plugin package, and even validate its methods in isolation. But if that plugin cannot participate in the real workflow—from installation to candidate selection, provenance, CMS preview, and publishing—it is not yet an integration surface. It is a registry entry.&lt;/p&gt;

&lt;p&gt;Pictovap 0.6.0 closes that gap for visual publishing workflows.&lt;/p&gt;

&lt;p&gt;Pictovap is MIT licensed and available on PyPI:&lt;/p&gt;

&lt;p&gt;pip install pictovap&lt;/p&gt;

&lt;p&gt;Repository: &lt;a href="https://github.com/yoldaolmak/Pictovap" rel="noopener noreferrer"&gt;https://github.com/yoldaolmak/Pictovap&lt;/a&gt;&lt;br&gt;
Release: &lt;a href="https://github.com/yoldaolmak/Pictovap/releases/tag/v0.6.0" rel="noopener noreferrer"&gt;https://github.com/yoldaolmak/Pictovap/releases/tag/v0.6.0&lt;/a&gt;&lt;/p&gt;

</description>
      <category>automation</category>
      <category>opensource</category>
      <category>python</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
