174 karma · joined October 1, 2020
This month has mostly been about adding multilingual support to Jant. It's for bilingual authors — the common case being someone writing for both Chinese and English readers — so they can publish to each language's audience separately within Jant.
I'm also designing a feature called Repost: when you see a post you like on another blog, you can repost it to your own Jant blog along with the original URL.
Code's on GitHub [1], and there's a demo [2] to try it out.
[0] https://jant.me [1] https://github.com/jant-me/jant [2] https://demo.jant.me
I use Substack for email distribution too. For the website side, I built an open-source blogging platform called Jant (https://jant.me) around these needs: posts appear on the homepage by default, posts marked as Featured are included in RSS, and posts can also be unlisted. It also syncs everything to GitHub as Markdown, in a repo that works as a complete Hugo site.
One of the features is that every edit auto-syncs to a GitHub repo as Markdown, and the repo itself is a full Hugo site you can build independently. So the backup is always there without thinking about it.
Not released yet but almost done. Repo is public if you want to take a look.
CronBin: https://github.com/theowenyoung/blog/tree/main/scripts/cronb...
Both scripts are deployed as single file js in the free tier of Cloudflare's Workers, and my personal workflow relies on these two simple services for all persistent data storage and scheduled tasks.
async function handleRequest(request) {
const requestUrl = new URL(request.url);
let target = "https://github.com/theowenyoung?tab=repositories"
if(requestUrl.pathname!=="/"){
target = "https://github.com/theowenyoung"+requestUrl.pathname
}
return Response.redirect(target, 302);
}
addEventListener('fetch', async event => {
event.respondWith(handleRequest(event.request));
});
[0]: https://git.owenyoung.com - use: def
id: obj
args:
list:
- Hello
- true
foo:
cat: 10
- use: console.log
args:
- ${obj.list[0]} World
- ${obj.foo.cat}
- ${JSON.stringify(obj.foo)}
[1]: https://github.com/yamlscript/yamlscriptI've used Zola to build both Chinese and English versions of my personal website, and one of my favorite parts is that I show the word count of the articles I've written so far in the header.
No Javascript, with a simple CSS file.
Time and time again I made up my mind to focus, but it wasn't until I read this book that I actually did it.
I use a tool Denoflow [0] I developed to this thing, this is my workflow file [1].
[0]: https://github.com/denoflow/denoflow
[1]: https://github.com/theowenyoung/personal-flow/blob/main/work...
The Deno runtime is great for workflows because Deno is lightweight and can import modules using arbitrary URLs.
Since I found Everything I know (https://wiki.nikitavoloboev.xyz), I was fascinated by this concept, about the wiki, second brain, lifetime notes, backlinks, tags. I realized that "Yes, this is what I want to do", I used to create many blogs, Tumblr, WordPress, Hexo, Hugo, Gatsbyjs, etc. But I do not post too many posts, cause there is a certain cost for a blog post. But not for note/wiki. And also I like tags, wiki links for connecting my notes, and there are no other themes that support this. So I created a new Gatsby theme for this.
I have used this theme with foam for 2 months, it's really helped me to save some things that are valuable to share with other people, and of course, for me.
My wiki site: https://wiki.owenyoung.com/
Foam Template: https://github.com/theowenyoung/foam-template-gatsby-theme-p...
Obsidian Template: https://github.com/theowenyoung/obsidian-template-gatsby-the...
I like hn, and many subreddits, but at the same time I also have language problems, So I created https://www.buzzing.cc , which collected many popular discussions in English communities, then translate all titles in Chinese and Japanese, approximately 3000 users visit per day.
then, clone all these git awesome repos, parsed their readme by mdast, split with list-item, or heading, got these items updated time by `git blame` command, added these items to database.
Then, I used gatsby to build a static site, 2 times deploy per day.
For browsing awesome repos on Github, I have two pain points, one is that I can't see the latest added items, and the second is that I can't see the star count of the items, so I created trackawesomelist.com and solved my own pain points, I wonder if you also have these pain points.
Any feedback will be helpful, Thanks!