Skip to main content

05_Starting a Tech Blog

· 4 min read
sbin
SceneMakerAI 팀

Introduction


This blog is the official technical blog for the Solbox Inc. SceneMakerAI project, which repurposes broadcast content using open-source AI technology.

During the development process, we decided to publish a blog post every month. While we had already decided to write the posts in Notion, we were unsure how to publish them publicly. After testing several candidates (Velog, Tistory) simultaneously, we ultimately chose Docusaurus.

![image](/img/blog/05-기술-블로그-개설/img-00.png

)

Docusaurus is an open-source project created by Meta and is an SSG (Static Site Generator) used by various companies. It has well-organized official documentation, a vibrant community, and—most importantly—we trusted it because it provides a deep architecture like the one shown above.

Here are the factors I considered when selecting a platform:

PlatformProsConsSelection Status
VelogEasy to set up and developer-friendlyLimited customization of themes and document structuringOn hold
TistoryAllows skin customization and is widely usedLack of Markdown support and difficult to manage via codeOn hold
DocusaurusAllows you to fully own the site through code and integrate documentation and blogs for structured organization. Notion integration automation is a major advantageRequires significant effort for initial setup and building the deployment pipelineFinal Choice

I was surprised to find that it has official documentation, an active community, and even an architecture like the one shown below.

![image](/img/blog/05-기술-블로그-개설/img-01.png

)

It also includes Plugins, Routing, SSG (Static Site Generation), and Client Architecture. (Reference link: Docusaurus Advanced )


Notion to Docusaurus Synchronization

To publish my posts publicly, I set up a synchronization pipeline by following the steps below.

1. Writing a Notion post
  • We’ve been using Notion for collaboration for a long time, so I initially continued to use it for blog posts as I always had.

Screenshot of the Notion workspace where the team drafts technical blog posts

![image](/img/blog/05-기술-블로그-개설/img-02.png

)

2. Configuring Docusaurus
  • For detailed CLI configuration, I recommend referring to the official documentation (Docusaurus CLI). I linked our URL and GitHub page in the docusaurus.config.ts file.
const config: Config = {
title: 'SceneMakerAI',
tagline: 'Repurposing Broadcast Content with Open-Source AI — SceneMakerAI Technology Blog · Documentation',

...
sameAs: ['https://github.com/SceneMakerAI'],
parentOrganization: { '@type': 'Organization', name: 'Solbox Inc.' },
},
{
'@type': 'WebSite',
name: 'SceneMakerAI Docs',
url: 'https://doc.scenemaker.solbox.com',
},
],
}),
},
3. Notion-to-md Export
  • To use the Notion API, you need to generate a token and verify the ID for each database.
NOTION_TOKEN=
...
NOTION_RELEASE=
NOTION_INSTALL=
  • We used the notion_to_md.py script to set up the system so that Notion content appears on the build server in Markdown format.

![image](/img/blog/05-기술-블로그-개설/img-03.png

)

4. Workflow Synchronization
  • We completed the CI configuration by separating the build and deployment processes using GitHub Actions.
    • Build: Reads code from the main branch and builds the converted MD files into static files (HTML/CSS/JS) (after npm ci, then npm run build)

    • Deploy: Automatically deploys the built static files to the production domain (doc.scenemaker.solbox.com)

    • Screenshot of the successfully completed GitHub Actions build and deployment workflow

![image](/img/blog/05-기술-블로그-개설/img-04.png

)


Synchronization results

Our core goal was to implement the screen layout seen in Notion on the web exactly as it appears in the original Notion.

![image](/img/blog/05-기술-블로그-개설/img-05.png

)

*The

final result: the Notion layout perfectly converted into a Docusaurus theme and deployed* Conclusion


This process wasn’t entirely smooth; it was a Docusaurus migration project that took much longer than expected.

In particular, the biggest hurdle was ensuring seamless two-way synchronization between Notion and MD without any exceptions.

I struggled quite a bit, encountering numerous rendering errors while converting Notion’s unique block styles, custom toggles, and image embed paths into Markdown files without breaking them,

and then synchronizing them to perfectly align with Docusaurus’s themes and SEO-optimized layouts.

Still, once we’d established our own automation framework to some extent, things started to pick up speed—simply writing the posts was enough for them to be automatically deployed. It’s a truly fascinating tool that makes all the hard work worthwhile.


Preview of the Next Post

Now that we have a complete technical blog infrastructure in place, I plan to start sharing the core technologies of SceneMakerAI in earnest. In the next post, I’ll cover in detail our “Qwen 3.6 Broadcasting Domain Application,” which involved optimizing and applying an LLM to the broadcasting domain, so please look forward to it.

This post presents research results conducted with support from the Ministry of Science and ICT and the National IT Industry Promotion Agency’s “2026 Open-Source AI and Software Development and Utilization Support Project.”