<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>wfdev &amp;mdash; Matt&#39;s Dev Log</title>
    <link>https://matt.writefreely.dev/tag:wfdev</link>
    <description></description>
    <pubDate>Sat, 02 May 2026 08:59:34 +0000</pubDate>
    <item>
      <title>WYSIWYG editor</title>
      <link>https://matt.writefreely.dev/wysiwyg-editor</link>
      <description>&lt;![CDATA[I’ve just updated this instance to the wysiwyg branch of WriteFreely, where we have a new what you see is what you get editor to choose from. Work on this editor is in progress on #383.&#xA;&#xA;I’m now writing with that editor. (You can view the raw output here.)&#xA;&#xA;It’s built on ProseMirror, and gives you a more classic writing experience while converting everything to Markdown (as WriteFreely understands) behind the scenes.&#xA;&#xA;It also auto-saves, just like any other standard editor that comes with WF. I’ve refreshed the page a few times (saving everything to the clipboard first) and it’s always sucessfully loaded. This is the most basic requirement for our editors, so that’s great!&#xA;&#xA;Some issues&#xA;&#xA;It does seem to insert magic quotes in the editor (“ instead of &#34;), which is not what we want — that happens automatically on the rendering side, which is good (it seems to do it for em-dashes too).&#xA;&#xA;I’m not sure if our shortcodes will work, like !—more— — especially with the auto-em-dash stuff.&#xA;&#xA;Also, the scroll bar is right next to the text instead of outside the text area padding, which is un-ideal, but fine.&#xA;&#xA;Poetry\&#xA;probably\&#xA;     b  r  e   a    k s\&#xA;(It doesn’t completely! But the spaces before “breaks” gets removed when going back into the editor to update the post.)&#xA;&#xA;Ctrl+K should add a link to the selected text. Also “Target” in that modal is confusing even to me. Hopefully we can fix that.&#xA;&#xA;The editor doesn’t render HTML.&#xA;&#xA;The editor inserts a backslash on the following before the first # symbol, preventing the hashtag from activating.&#xA;&#xA;\#WriteFreely #wfdev&#xA;&#xA;---&#xD;&#xA;&#xD;&#xA;Get future updates via RSS and ActivityPub: @devlog@matt.writefreely.dev.]]&gt;</description>
      <content:encoded><![CDATA[<p>I’ve just updated this instance to the <code>wysiwyg</code> branch of WriteFreely, where we have a new <em>what you see is what you get</em> editor to choose from. Work on this editor is in progress on <a href="https://github.com/writeas/writefreely/pull/383">#383</a>.</p>

<p>I’m now writing with that editor. (You can <a href="https://matt.writefreely.dev/wysiwyg-editor.md">view the raw output here</a>.)</p>

<p>It’s built on <a href="https://prosemirror.net/">ProseMirror</a>, and gives you a more classic writing experience while converting everything to Markdown (as WriteFreely understands) behind the scenes.</p>

<p>It also auto-saves, just like any other standard editor that comes with WF. I’ve refreshed the page a few times (saving everything to the clipboard first) and it’s always sucessfully loaded. This is the most basic requirement for our editors, so that’s great!</p>

<h2 id="some-issues">Some issues</h2>

<p>It <em>does</em> seem to insert magic quotes in the editor (<code>“</code> instead of “), which is not what we want — that happens automatically on the rendering side, which is good (it seems to do it for em-dashes too).</p>

<p>I’m not sure if our shortcodes will work, like <code>&lt;!—more—&gt;</code> — especially with the auto-em-dash stuff.</p>

<p>Also, the scroll bar is right next to the text instead of outside the text area padding, which is un-ideal, but fine.</p>

<p>Poetry\
probably\
     b  r  e   a    k s\
(It doesn’t completely! But the spaces before “breaks” gets removed when going back into the editor to update the post.)</p>

<p>Ctrl+K should add a link to the selected text. Also “Target” in that modal is confusing even to me. Hopefully we can fix that.</p>

<p>The editor doesn’t render HTML.</p>

<p>The editor inserts a backslash on the following before the first <code>#</code> symbol, preventing the hashtag from activating.</p>

<p>#WriteFreely <a href="https://matt.writefreely.dev/tag:wfdev" class="hashtag"><span>#</span><span class="p-category">wfdev</span></a></p>

<hr>

<p>Get future updates via <a href="https://matt.writefreely.dev/feed/">RSS</a> and ActivityPub: <a href="https://matt.writefreely.dev/@/devlog@matt.writefreely.dev" class="u-url mention">@<span>devlog@matt.writefreely.dev</span></a>.</p>
]]></content:encoded>
      <guid>https://matt.writefreely.dev/wysiwyg-editor</guid>
      <pubDate>Thu, 10 Sep 2020 19:26:21 +0000</pubDate>
    </item>
    <item>
      <title>OAuth Support in WriteFreely</title>
      <link>https://matt.writefreely.dev/oauth-support-in-writefreely</link>
      <description>&lt;![CDATA[Our next release of #WriteFreely, v0.12, is shipping with OAuth 2.0 support! This will make it even easier for people to join your instance, and use WriteFreely as a complement to other tools. !--more--&#xA;&#xA;We&#39;ll support three different OAuth providers in v0.12, thanks to Nick Gerakines who laid all the OAuth groundwork and support for Write.as &amp; Slack, and Kyle Robbertze who added GitLab support.&#xA;&#xA;This development was initially driven by our Write.as for Teams service. Since Teams customers need a Write.as account for spinning up an instance and managing billing, the extra step of creating another account in WriteFreely caused plenty of confusion. Our Write.as OAuth integration helped alleviate that -- and paired with Slack sign-in, now entire teams can easily join a WF instance.&#xA;&#xA;  Aside: It&#39;s entirely possible that our locked-down &#34;Write.as&#34; provider will change into a generic &#34;WriteFreely&#34; provider in the future, if it makes sense for WF to become an OAuth provider. Especially with more federation capabilities on the reading side, multiple WF instances and identities hosted in WF could make more sense.&#xA;    Thoughts or ideas? Let me know @matt@writing.exchange.&#xA;&#xA;Next, with the start of the Debian Social team, Kyle approached us about utilizing their GitLab instance for user authentication. The timing couldn&#39;t have been better, and we were able to collaborate and merge his work on #277 in time for this next release!&#xA;&#xA;Adding a new provider&#xA;&#xA;Now that the basics are there, we&#39;d love to support new OAuth providers that will make it easier for WF communities to grow. While not completely seamless today, fortunately the work is pretty straightforward, whether you know Go or not.&#xA;&#xA;I wrote a step-by-step guide on how to modify WriteFreely for this over on the forum. Even if you haven&#39;t worked with Go before, as long as you can set up your development environment and copy some existing code, you can add a new provider.&#xA;&#xA;As mentioned in that forum topic, we&#39;re more than happy to accept new providers that&#39;ll help you and benefit many other people. So don&#39;t be afraid to reach out to us about your use case, and contribute new code for this.&#xA;&#xA;wfdev&#xA;&#xA;---&#xD;&#xA;&#xD;&#xA;Get future updates via RSS and ActivityPub: @devlog@matt.writefreely.dev.]]&gt;</description>
      <content:encoded><![CDATA[<p>Our next release of <a href="https://matt.writefreely.dev/tag:WriteFreely" class="hashtag"><span>#</span><span class="p-category">WriteFreely</span></a>, v0.12, is shipping with OAuth 2.0 support! This will make it even easier for people to join your instance, and use WriteFreely as a complement to other tools. </p>

<p>We&#39;ll support three different OAuth providers in v0.12, thanks to <a href="https://github.com/ngerakines">Nick Gerakines</a> who laid all the OAuth groundwork and support for Write.as &amp; Slack, and <a href="https://github.com/paddatrapper">Kyle Robbertze</a> who added GitLab support.</p>

<p>This development was initially driven by our <a href="https://write.as/for/teams">Write.as for Teams</a> service. Since Teams customers need a Write.as account for spinning up an instance and managing billing, the extra step of creating <em>another</em> account in WriteFreely caused plenty of confusion. Our Write.as OAuth integration helped alleviate that — and paired with Slack sign-in, now entire teams can easily join a WF instance.</p>

<blockquote><p><strong>Aside</strong>: It&#39;s entirely possible that our locked-down “Write.as” provider will change into a generic “WriteFreely” provider in the future, if it makes sense for WF to become an OAuth provider. Especially with more federation capabilities on the reading side, multiple WF instances and identities hosted in WF could make more sense.</p>

<p>Thoughts or ideas? Let me know <a href="https://matt.writefreely.dev/@/matt@writing.exchange" class="u-url mention">@<span>matt@writing.exchange</span></a>.</p></blockquote>

<p>Next, with the start of the <a href="https://wiki.debian.org/Teams/DebianSocial">Debian Social</a> team, Kyle approached us about utilizing their GitLab instance for user authentication. The timing couldn&#39;t have been better, and we were able to collaborate and merge his work on <a href="https://github.com/writeas/writefreely/pull/277">#277</a> in time for this next release!</p>

<h2 id="adding-a-new-provider">Adding a new provider</h2>

<p>Now that the basics are there, we&#39;d love to support new OAuth providers that will make it easier for WF communities to grow. While not completely seamless today, fortunately the work is pretty straightforward, whether you know Go or not.</p>

<p>I wrote a step-by-step guide on how to modify WriteFreely for this <a href="https://discuss.write.as/t/feature-suggestion-login-with-an-account-from-other-websites-e-g-mastodon-github-etc/872/8">over on the forum</a>. Even if you haven&#39;t worked with Go before, as long as you can <a href="https://writefreely.org/docs/latest/developer/setup">set up your development environment</a> and copy some existing code, you can add a new provider.</p>

<p>As mentioned in that forum topic, we&#39;re more than happy to accept new providers that&#39;ll help you and benefit many other people. So don&#39;t be afraid to <a href="https://discuss.write.as/c/development">reach out to us</a> about your use case, and contribute new code for this.</p>

<p><a href="https://matt.writefreely.dev/tag:wfdev" class="hashtag"><span>#</span><span class="p-category">wfdev</span></a></p>

<hr>

<p>Get future updates via <a href="https://matt.writefreely.dev/feed/">RSS</a> and ActivityPub: <a href="https://matt.writefreely.dev/@/devlog@matt.writefreely.dev" class="u-url mention">@<span>devlog@matt.writefreely.dev</span></a>.</p>
]]></content:encoded>
      <guid>https://matt.writefreely.dev/oauth-support-in-writefreely</guid>
      <pubDate>Wed, 25 Mar 2020 15:46:11 +0000</pubDate>
    </item>
    <item>
      <title>Upcoming Visual Changes to WriteFreely</title>
      <link>https://matt.writefreely.dev/upcoming-visual-changes-to-writefreely</link>
      <description>&lt;![CDATA[Right now, we have a pause on major features in WriteFreely. I&#39;ve finally started to work through the backlog of outstanding pull requests, some of which were from mid-2019, and now am getting to more of the polishing side of things. So coming soon, there will be some small new visual changes in WriteFreely / Write.as, particularly that affect user blogs.&#xA;&#xA;Dates on blog posts. It&#39;s been missing for years. They&#39;d show on the blog home page, but not blog posts. Well, this is no longer the case. Soon, posts on blogs that use the Blog display format will consistently show dates both on their home page and individual posts. Other display formats will continue not showing dates, because that&#39;s exactly what they&#39;re there for: not showing dates.&#xA;  Also, dates are now correct, relative to your device&#39;s timezone!&#xA;table style. These elements were previously unstyled. Now they&#39;ll have some improved, basic styling that you can easily override with custom CSS. See #194.&#xA;Consistent user page headers. User pages (Blogs, Drafts, Account Settings, etc.) were all over the map with their headers. I&#39;d start using a new style on new pages and not update the old ones. Well, now that&#39;s fixed in #262. Write.as users will notice this change is already live.&#xA;Slightly more line height. We&#39;ve added 10% more space between lines of text. It&#39;s perhaps too small to really notice, but large enough to make a nice improvement. Changes in #263.&#xA;&#xA;On the admin side, we&#39;re redesigning the dashboard to make it much more user friendly, and optionally less technical, in cases where an instance is in a hosted environment and the admin doesn&#39;t care about getting into the weeds. See #264. We need this change in Write.as for Teams, but it should also prove helpful for other WriteFreely hosts.&#xA;&#xA;Particularly since these are visible changes that affect users, we want your feedback! Please jump into those pull requests on GitHub, try things out, and let us know what you think. We want to be sure people are happy with these upcoming changes before they get released to everyone.&#xA;&#xA;#wfdev #design #WriteFreely&#xA;&#xA;---&#xD;&#xA;&#xD;&#xA;Get future updates via RSS and ActivityPub: @devlog@matt.writefreely.dev.]]&gt;</description>
      <content:encoded><![CDATA[<p>Right now, we have a pause on major features in WriteFreely. I&#39;ve finally started to work through the backlog of outstanding pull requests, some of which were from mid-2019, and now am getting to more of the <em>polishing</em> side of things. So coming soon, there will be some small new visual changes in <a href="https://writefreely.org">WriteFreely</a> / <a href="https://write.as">Write.as</a>, particularly that affect user blogs.</p>
<ul><li>Dates on blog posts. It&#39;s been missing for years. They&#39;d show on the blog home page, but not blog posts. Well, this is no longer the case. Soon, posts on blogs that use the <em>Blog</em> display format will consistently show dates both on their home page and individual posts. Other display formats will continue not showing dates, because that&#39;s exactly what they&#39;re there for: not showing dates.
<ul><li>Also, dates are now correct, relative to your device&#39;s timezone!</li></ul></li>
<li><code>&lt;table&gt;</code> style. These elements were previously unstyled. Now they&#39;ll have some improved, basic styling that you can easily override with custom CSS. See <a href="https://writefreely.org/pull/194">#194</a>.</li>
<li>Consistent user page headers. User pages (Blogs, Drafts, Account Settings, etc.) were all over the map with their headers. I&#39;d start using a new style on new pages and not update the old ones. Well, now that&#39;s fixed in <a href="https://writefreely.org/pull/262">#262</a>. Write.as users will notice this change is already live.</li>
<li>Slightly more line height. We&#39;ve added 10% more space between lines of text. It&#39;s perhaps too small to really notice, but large enough to make a nice improvement. Changes in <a href="https://writefreely.org/pull/263">#263</a>.</li></ul>

<p>On the admin side, we&#39;re redesigning the dashboard to make it much more user friendly, and optionally less technical, in cases where an instance is in a hosted environment and the admin doesn&#39;t care about getting into the weeds. See <a href="https://writefreely.org/pull/264">#264</a>. We need this change in <a href="https://write.as/for/teams">Write.as for Teams</a>, but it should also prove helpful for other WriteFreely hosts.</p>

<p>Particularly since these are visible changes that affect users, <strong>we want your feedback</strong>! Please jump into those pull requests on GitHub, try things out, and let us know what you think. We want to be sure people are happy with these upcoming changes before they get released to everyone.</p>

<p><a href="https://matt.writefreely.dev/tag:wfdev" class="hashtag"><span>#</span><span class="p-category">wfdev</span></a> <a href="https://matt.writefreely.dev/tag:design" class="hashtag"><span>#</span><span class="p-category">design</span></a> <a href="https://matt.writefreely.dev/tag:WriteFreely" class="hashtag"><span>#</span><span class="p-category">WriteFreely</span></a></p>

<hr>

<p>Get future updates via <a href="https://matt.writefreely.dev/feed/">RSS</a> and ActivityPub: <a href="https://matt.writefreely.dev/@/devlog@matt.writefreely.dev" class="u-url mention">@<span>devlog@matt.writefreely.dev</span></a>.</p>
]]></content:encoded>
      <guid>https://matt.writefreely.dev/upcoming-visual-changes-to-writefreely</guid>
      <pubDate>Fri, 14 Feb 2020 20:38:09 +0000</pubDate>
    </item>
  </channel>
</rss>