# Development

**URL:** https://discuss.write.as/c/development/7.md

[Latest](https://discuss.write.as/latest.md) · [Categories](https://discuss.write.as/categories.md) · [Tags](https://discuss.write.as/tags.md)

---

## [About the Development category](https://discuss.write.as/t/about-the-development-category/13)

<div class="topic-metadata">

**Author:** [@matt](https://discuss.write.as/u/matt)\
**Replies:** 1\
**Last updated:** [January 28, 2025, 12:31pm UTC](https://discuss.write.as/t/about-the-development-category/13 "2025-01-28T12:31:59Z")

</div>

Discuss Write.as and WriteFreely development – our projects, libraries, documentation, and internationalization.

---

## [I fixed some ActivityPub bugs and security issues](https://discuss.write.as/t/i-fixed-some-activitypub-bugs-and-security-issues/20999)

<div class="topic-metadata">

**Author:** [@quigs](https://discuss.write.as/u/quigs)\
**Replies:** 0\
**Last updated:** [September 10, 2026, 4:54pm UTC](https://discuss.write.as/t/i-fixed-some-activitypub-bugs-and-security-issues/20999 "2026-09-10T16:54:45Z")

</div>

Hi folks, I recently switched over from Ghost to WF and decided to also use it for a private community that we set up to replace Facebook Groups. Some context about me and ActivityPub. I built one of the first Activity…

---

## [Run WriteFreely with Docker](https://discuss.write.as/t/run-writefreely-with-docker/14071)

<div class="topic-metadata">

**Author:** [@jpavonabian](https://discuss.write.as/u/jpavonabian)\
**Replies:** 7\
**Last updated:** [August 28, 2026, 12:22pm UTC](https://discuss.write.as/t/run-writefreely-with-docker/14071 "2026-08-28T12:22:55Z")

</div>

Hi, In Writefreely repository there are docker-compose.prod.yml and Dockerfile.prod files. These files are not sufficient to run an instance in production. I mean, it is not enough to run a docker-compose up -d. I wou…

---

## [Protecting self-hosted writefreely](https://discuss.write.as/t/protecting-self-hosted-writefreely/20409)

<div class="topic-metadata">

**Author:** [@credmp](https://discuss.write.as/u/credmp)\
**Replies:** 1\
**Last updated:** [August 27, 2026, 3:36am UTC](https://discuss.write.as/t/protecting-self-hosted-writefreely/20409 "2026-08-27T03:36:58Z")

</div>

Hi, I am self hosting write freely. I also host other services myself and one of the protection mechanisms I use is fail2ban. Using this technique I protect my server from abuse. The logging of writefreely does not log…

---

## [New tool for developing themes: CSS.horse](https://discuss.write.as/t/new-tool-for-developing-themes-css-horse/2927)

<div class="topic-metadata">

**Author:** [@matt](https://discuss.write.as/u/matt)\
**Replies:** 3\
**Last updated:** [June 8, 2026, 6:23am UTC](https://discuss.write.as/t/new-tool-for-developing-themes-css-horse/2927 "2026-06-08T06:23:13Z")

</div>

I’ve been wanting to create a tool like this for a while, and finally had the need for it recently, to develop a more complex theme. Based on an old project called :house: HTMLhouse, here’s :horse: CSShorse – a CSS edito…

---

## [How To Deploy WriteFreely via Docker (Tutorial)](https://discuss.write.as/t/how-to-deploy-writefreely-via-docker-tutorial/19990)

<div class="topic-metadata">

**Author:** [@PWD](https://discuss.write.as/u/PWD)\
**Replies:** 2\
**Last updated:** [January 19, 2026, 11:13pm UTC](https://discuss.write.as/t/how-to-deploy-writefreely-via-docker-tutorial/19990 "2026-01-19T23:13:21Z")

</div>

The “Golden Path” Guide: Installing WriteFreely with Docker (2025 Edition) This method builds the image directly from the official WriteFreely source code, ensuring you are up-to-date. It also fixes common “split-brain” …

---

## [PR welcome? can I fix html sanitizer to allow for standard data- attributes?](https://discuss.write.as/t/pr-welcome-can-i-fix-html-sanitizer-to-allow-for-standard-data-attributes/19967)

<div class="topic-metadata">

**Author:** [@jzacsh](https://discuss.write.as/u/jzacsh)\
**Replies:** 2\
**Last updated:** [November 17, 2025, 11:32pm UTC](https://discuss.write.as/t/pr-welcome-can-i-fix-html-sanitizer-to-allow-for-standard-data-attributes/19967 "2025-11-17T23:32:34Z")

</div>

I just ran into this exact same issue. If you set a breakpoint in strava’s embed script, you can see the element they get when they run their querySelector on the dom: the author’s intended content is stripped down to su…

---

## [Getting "The response ended prematurely." error from Write.as API](https://discuss.write.as/t/getting-the-response-ended-prematurely-error-from-write-as-api/18206)

<div class="topic-metadata">

**Author:** [@dino](https://discuss.write.as/u/dino)\
**Replies:** 3\
**Last updated:** [August 10, 2025, 3:51am UTC](https://discuss.write.as/t/getting-the-response-ended-prematurely-error-from-write-as-api/18206 "2025-08-10T03:51:38Z")

</div>

I’ve noticed that in my own web apps, which calls the Write.as api to get posts from my blogs, they’ve stopped working. When I try a local debug, I am getting back a “The response ended prematurely.” error from the Writ…

---

## [When will we be able to create a blog post from our gallery using Snap.as?](https://discuss.write.as/t/when-will-we-be-able-to-create-a-blog-post-from-our-gallery-using-snap-as/1761)

<div class="topic-metadata">

**Author:** [@bysam](https://discuss.write.as/u/bysam)\
**Replies:** 6\
**Last updated:** [June 20, 2025, 3:50am UTC](https://discuss.write.as/t/when-will-we-be-able-to-create-a-blog-post-from-our-gallery-using-snap-as/1761 "2025-06-20T03:50:19Z")

</div>

This seems to be in the works for a while. Is there any timeline on when we’ll be able to have galleries within our posts? Coming soon : Publishable to your Write.as blog — create a blog post from your gallery.

---

## [I want to make service like write.as](https://discuss.write.as/t/i-want-to-make-service-like-write-as/17019)

<div class="topic-metadata">

**Author:** [@nomad](https://discuss.write.as/u/nomad)\
**Replies:** 2\
**Last updated:** [April 11, 2025, 12:05am UTC](https://discuss.write.as/t/i-want-to-make-service-like-write-as/17019 "2025-04-11T00:05:43Z")

</div>

Hi, I’m new on web projects, I need to make an project like write.as but i heard witefreely doesn’t have all functions of write.as. How can i make an service ?

---

## [How to access API with Password authentication disabled?](https://discuss.write.as/t/how-to-access-api-with-password-authentication-disabled/14339)

<div class="topic-metadata">

**Author:** [@boegh](https://discuss.write.as/u/boegh)\
**Replies:** 0\
**Last updated:** [November 15, 2024, 5:22pm UTC](https://discuss.write.as/t/how-to-access-api-with-password-authentication-disabled/14339 "2024-11-15T17:22:11Z")

</div>

I’m trying to post with the WriteFreely iOS-app, but can’t get it to work, as it results in the error: The operation couldn't be completed. (WriteFreely.WFError error 403.) I’m also trying to use a home-made action in D…

---

## [API-Server is missconfigured - CORS-Header is not delivered by the server](https://discuss.write.as/t/api-server-is-missconfigured-cors-header-is-not-delivered-by-the-server/8010)

<div class="topic-metadata">

**Author:** [@ASPI-ARGUE](https://discuss.write.as/u/ASPI-ARGUE)\
**Replies:** 7\
**Last updated:** [October 11, 2024, 2:12pm UTC](https://discuss.write.as/t/api-server-is-missconfigured-cors-header-is-not-delivered-by-the-server/8010 "2024-10-11T14:12:25Z")

</div>

The API for all blogs is reachable under: https://write.as/api/ When you use fetch() inside your custom javascript and have your own host, like http://blogname.writeas.com then the server for the api doesnt send a 'Acc…

---

## [Share what you are working on and using!](https://discuss.write.as/t/share-what-you-are-working-on-and-using/401)

<div class="topic-metadata">

**Author:** [@cjeller1592](https://discuss.write.as/u/cjeller1592)\
**Replies:** 140\
**Last updated:** [June 4, 2024, 5:27pm UTC](https://discuss.write.as/t/share-what-you-are-working-on-and-using/401 "2024-06-04T17:27:19Z")

</div>

Hey everyone, Just want to give a space for people to share cool projects people they’ve come up with or seen for Write.as: apps, instances, extensions, hacks, whatever. I can stir the pot with a little hack I use with…

---

## [Web-front end](https://discuss.write.as/t/web-front-end/12148)

<div class="topic-metadata">

**Author:** [@MahaskaVillage](https://discuss.write.as/u/MahaskaVillage)\
**Replies:** 2\
**Last updated:** [June 3, 2024, 9:57pm UTC](https://discuss.write.as/t/web-front-end/12148 "2024-06-03T21:57:52Z")

</div>

I absolutely love your system. Its incredible. Now, if I can come up up with a web front-end that is for reading only… I have the program installed and working but I need a way for users to read only type thing.

---

## [MathJax does not render in draft](https://discuss.write.as/t/mathjax-does-not-render-in-draft/657)

<div class="topic-metadata">

**Author:** [@matt](https://discuss.write.as/u/matt)\
**Replies:** 3\
**Last updated:** [April 8, 2024, 10:56am UTC](https://discuss.write.as/t/mathjax-does-not-render-in-draft/657 "2024-04-08T10:56:32Z")

</div>

Opening this thread for any discussion continuing from writefreely#70.

---

## [Thoughts on using an ORM?](https://discuss.write.as/t/thoughts-on-using-an-orm/11667)

<div class="topic-metadata">

**Author:** [@claquesous](https://discuss.write.as/u/claquesous)\
**Replies:** 0\
**Last updated:** [March 25, 2024, 8:33pm UTC](https://discuss.write.as/t/thoughts-on-using-an-orm/11667 "2024-03-25T20:33:02Z")

</div>

I wanted to add a blog to my family website and came across Writefreely, but was disappointed to see Postgres isn’t supported so I added it. I was able to get the basic functionality up and running and so could use it a…

---

## [Obsidian plugin](https://discuss.write.as/t/obsidian-plugin/10880)

<div class="topic-metadata">

**Author:** [@DeiLayborer](https://discuss.write.as/u/DeiLayborer)\
**Replies:** 1\
**Last updated:** [January 16, 2024, 3:25am UTC](https://discuss.write.as/t/obsidian-plugin/10880 "2024-01-16T03:25:28Z")

</div>

Hello to everyone. Even though I don’t post much on my blog, something that will hopefully change, I’m always on the lookout for new stuff that might be useful. I’ve also found that I really enjoy using Obsidian, so wr…

---

## [WriteFreely for Mac is now in beta!](https://discuss.write.as/t/writefreely-for-mac-is-now-in-beta/2306)

<div class="topic-metadata">

**Author:** [@angelo](https://discuss.write.as/u/angelo)\
**Replies:** 13\
**Last updated:** [January 13, 2024, 2:29pm UTC](https://discuss.write.as/t/writefreely-for-mac-is-now-in-beta/2306 "2024-01-13T14:29:37Z")

</div>

:warning: This beta test period is now closed as we ramp up to launch the app. Many thanks to our testers! Sharing much of its underpinnings with the WriteFreely iOS app, we’d love your feedback on our work, so ple…

---

## [Please help - getting 400 return on /posts](https://discuss.write.as/t/please-help-getting-400-return-on-posts/10881)

<div class="topic-metadata">

**Author:** [@DeiLayborer](https://discuss.write.as/u/DeiLayborer)\
**Replies:** 2\
**Last updated:** [December 30, 2023, 2:25pm UTC](https://discuss.write.as/t/please-help-getting-400-return-on-posts/10881 "2023-12-30T14:25:17Z")

</div>

Hi – for some reason, I’m not able to make an anonymous post through the API in JavaScript. This is through an app (the Obsidian plugin I’m working on), so don’t know if that makes a difference. Here’s the code: c…

---

## [Suggestion for Knowledge-Database](https://discuss.write.as/t/suggestion-for-knowledge-database/10364)

<div class="topic-metadata">

**Author:** [@ASPI-ARGUE](https://discuss.write.as/u/ASPI-ARGUE)\
**Replies:** 0\
**Last updated:** [October 21, 2023, 4:33pm UTC](https://discuss.write.as/t/suggestion-for-knowledge-database/10364 "2023-10-21T16:33:48Z")

</div>

Hello, it would be fine to create a knowledge databse from my blog. This is my friend add(THOR)(ENLIGHTED) from past lives… And to have then a page, where a list of knowledge by tag is listed. Thanks, ASPIARGUE

---

## [The WriteFreely ❤️ Hacktober 2023 Discussion Thread](https://discuss.write.as/t/the-writefreely-hacktober-2023-discussion-thread/10314)

<div class="topic-metadata">

**Author:** [@angelo](https://discuss.write.as/u/angelo)\
**Replies:** 0\
**Last updated:** [October 14, 2023, 11:16am UTC](https://discuss.write.as/t/the-writefreely-hacktober-2023-discussion-thread/10314 "2023-10-14T11:16:05Z")

</div>

As you might have seen, the WriteFreely iOS app and Swift package repositories are participating in Hacktoberfest this year! If you’re working on any of the eligible issues on GitHub and run into any questions, ask them…

---

## [Post creation timestamp](https://discuss.write.as/t/post-creation-timestamp/10306)

<div class="topic-metadata">

**Author:** [@Cyberax](https://discuss.write.as/u/Cyberax)\
**Replies:** 0\
**Last updated:** [October 13, 2023, 7:20am UTC](https://discuss.write.as/t/post-creation-timestamp/10306 "2023-10-13T07:20:57Z")

</div>

Hi! I’m developing a two-way post synchronization system, and one of the stumbling blocks is the post creation timestamp. WriteAs ignores the PostParams.Created and PostParams.Updated fields in both CreatePost and Updat…

---

## [Plugin system](https://discuss.write.as/t/plugin-system/259)

<div class="topic-metadata">

**Author:** [@matt](https://discuss.write.as/u/matt)\
**Replies:** 7\
**Last updated:** [October 10, 2023, 5:16am UTC](https://discuss.write.as/t/plugin-system/259 "2023-10-10T05:16:08Z")

</div>

I’ve been thinking about a way to start building a plugin system for WriteFreely. In this thread I want to open up a technical discussion, especially for anyone potentially interested in helping develop this. Background …

---

## [Security and Penetration Testing](https://discuss.write.as/t/security-and-penetration-testing/9960)

<div class="topic-metadata">

**Author:** [@MarkJaroski](https://discuss.write.as/u/MarkJaroski)\
**Replies:** 0\
**Last updated:** [September 4, 2023, 10:02pm UTC](https://discuss.write.as/t/security-and-penetration-testing/9960 "2023-09-04T22:02:41Z")

</div>

Hi everybody. Has there ever to your knowledge been an organized or somewhat organized penetration test of writefreely? If not I propose to install on a server I own using a domain I own, test it, and report any vulner…

---

## [(crosspost) Has anyone else tried native compiling WriteFreely in Windows? I have and I'm stuck](https://discuss.write.as/t/crosspost-has-anyone-else-tried-native-compiling-writefreely-in-windows-i-have-and-im-stuck/8590)

<div class="topic-metadata">

**Author:** [@tezoatlipoca](https://discuss.write.as/u/tezoatlipoca)\
**Replies:** 0\
**Last updated:** [March 25, 2023, 7:29pm UTC](https://discuss.write.as/t/crosspost-has-anyone-else-tried-native-compiling-writefreely-in-windows-i-have-and-im-stuck/8590 "2023-03-25T19:29:06Z")

</div>

ED: crossposted from github here: (Has anyone else tried native compiling WriteFreely in Windows? I have and I'm stuck · writefreely/writefreely · Discussion #664 · GitHub) after I re-read contribute.md saw that there is…

---

## [Little Present: Allittle API for the API](https://discuss.write.as/t/little-present-allittle-api-for-the-api/8510)

<div class="topic-metadata">

**Author:** [@ASPI-ARGUE](https://discuss.write.as/u/ASPI-ARGUE)\
**Replies:** 0\
**Last updated:** [March 16, 2023, 9:41am UTC](https://discuss.write.as/t/little-present-allittle-api-for-the-api/8510 "2023-03-16T09:41:31Z")

</div>

// My cute write.as - API-API class postAPI { //constructor, give collection and authorization constructor(blog, user, pass) { this.token= null; this.arts= null; this.tags = null; this.user= user; …

---

## [How to authenticate the API with only the password for private blogs](https://discuss.write.as/t/how-to-authenticate-the-api-with-only-the-password-for-private-blogs/7968)

<div class="topic-metadata">

**Author:** [@ASPI-ARGUE](https://discuss.write.as/u/ASPI-ARGUE)\
**Replies:** 3\
**Last updated:** [January 25, 2023, 9:19pm UTC](https://discuss.write.as/t/how-to-authenticate-the-api-with-only-the-password-for-private-blogs/7968 "2023-01-25T21:19:19Z")

</div>

Dear Fellows, is there a possibility to use the api only with the password that I use for my private blog? I do not want to store my account data inside an javascript, even if it is a private blog. Thanks, Dietrich

---

## [API-Server is missconfigured: For password-protected blogs you cant retrieve posts, 401 You don't have permission to access this collection](https://discuss.write.as/t/api-server-is-missconfigured-for-password-protected-blogs-you-cant-retrieve-posts-401-you-dont-have-permission-to-access-this-collection/8012)

<div class="topic-metadata">

**Author:** [@ASPI-ARGUE](https://discuss.write.as/u/ASPI-ARGUE)\
**Replies:** 0\
**Last updated:** [January 25, 2023, 9:14pm UTC](https://discuss.write.as/t/api-server-is-missconfigured-for-password-protected-blogs-you-cant-retrieve-posts-401-you-dont-have-permission-to-access-this-collection/8012 "2023-01-25T21:14:12Z")

</div>

Dear Fellows, Iam writing a little javascript-library I want to share with all of the write.as - Users wich is nice to use. I have a password-protected blog (collection) from wich I want to get the posts. First I authen…

---

## [Cannot contribute to i18n](https://discuss.write.as/t/cannot-contribute-to-i18n/7828)

<div class="topic-metadata">

**Author:** [@Heartade](https://discuss.write.as/u/Heartade)\
**Replies:** 2\
**Last updated:** [January 17, 2023, 5:27am UTC](https://discuss.write.as/t/cannot-contribute-to-i18n/7828 "2023-01-17T05:27:23Z")

</div>

I just tried to add Korean translation in WriteFreely Web - POEditor translation management system and it says “The project can’t host more strings because its owner reached their plan’s limit. They’ve been notified, no …

---

## [WriteFreely SwiftUI Multiplatform App (Mac, iPhone, iPad)](https://discuss.write.as/t/writefreely-swiftui-multiplatform-app-mac-iphone-ipad/1664)

<div class="topic-metadata">

**Author:** [@angelo](https://discuss.write.as/u/angelo)\
**Replies:** 30\
**Last updated:** [December 18, 2022, 11:08am UTC](https://discuss.write.as/t/writefreely-swiftui-multiplatform-app-mac-iphone-ipad/1664 "2022-12-18T11:08:43Z")

</div>

Following up on the WriteFreely Swift package, I’m happy to announce that work is starting on a WriteFreely client app for Mac, iPhone, and iPad! We’re building this as a SwiftUI multiplatform app targeting iOS/iPadOS 1…

[Next page](https://discuss.write.as/c/development/7.md?page=1)
