Skip to main content

No project description provided

Project description

Solveblog

Solveblog provides the easiest way to build a blog in solveit. You can edit your dialogs in solveit and they’ll appear in your blog immediately.

Markdown messages are shown as regular text. Code, Prompt, and Raw messages and their outputs are presented in nicely formatted fences.

Getting started

In SolveIt:

  1. Create an empty dialog in a new folder for your blog project
  2. Run !pip install solveblog to install this package
  3. Run solveblog_new() with your information:
from solveblog import * 
solveblog_new(
    name='Your Name', # Your name
    port=8000,        # Port to serve on
    email='',         # Your email (optional)
    description='',   # RSS feed description (optional)
    github='',        # GitHub handle (optional)
    twitter='',       # Twitter/X handle (optional)
    linkedin='',      # LinkedIn handle (optional)
)
  1. Run !solveblog to serve your blog. The url will be printed immediately after running the command

Writing posts

You can add your own posts by adding them to public/posts/. Posts can be markdown files (.md) or solveit dialogs (.ipynb). Posts are expected to start with metadata as yaml frontmatter. In solveit dialogs these are expected to be as the first message (raw format). You can find an example post in public/posts/ after running solveblog_new().

---
title: Test Notebook Post
date: 2026-04-05
tags:
  - test
---

Writing pages

You can add your own pages by adding them to public/pages/. Pages can also be markdown files (.md) or solveit dialogs (*.ipynb). Page filenames are split on underscore (_) and the prefix is used as the sorting key. You can find an example 1_about.ipynb page after running solveblog_new().

Autorun

If you run solveblog in a terminal window it’ll run until you close the tab. To keep it running you might want to create a dialog in the AUTORUN folder (create it if it doesn’t exist). Dialogs in that folder will automatically run upon instance start, and are exempted from idle shutdown. In other words: they’ll keep running. In that dialog put a code message with the following:

!cd <your-project-dir> && solveblog

Custom domains

SolveIt supports custom domains. To make use of this feature:

  1. Go to your instance settings menu in the SolveIt dashboard, and follow the instructions to update the domain:port mapping.
  2. Updatesolveblog_settings.py with the chosen port.
  3. Configure the DNS of your custom domain to point to solve.it.com (see below)

DNS setup

For subdomains (e.g., app.example.com): Create a CNAME record pointing to solve.it.com.

For apex/root domains (e.g., example.com): Standard CNAME records won’t work. You need a provider that supports CNAME flattening or ALIAS records:

Provider Record Type
Cloudflare CNAME (auto-flattened at apex)
AWS Route 53 ALIAS
Azure DNS Alias
DNS Made Easy ANAME
DNSimple ALIAS
Namecheap ALIAS
Porkbun ALIAS

[!TIP]

We recommend Cloudflare for DNS—just create a CNAME at the apex and it handles flattening automatically.

[!WARNING]

GoDaddy does not support CNAME flattening. Use a subdomain or switch DNS providers.

DNS changes can take up to 48 hours to propagate, though they often take effect much sooner.

Credits

Inspired by the beautiful personal website of Jack Hogan: jackhogan.net

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

solveblog-0.0.1.tar.gz (1.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

solveblog-0.0.1-py3-none-any.whl (1.6 MB view details)

Uploaded Python 3

File details

Details for the file solveblog-0.0.1.tar.gz.

File metadata

  • Download URL: solveblog-0.0.1.tar.gz
  • Upload date:
  • Size: 1.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for solveblog-0.0.1.tar.gz
Algorithm Hash digest
SHA256 674ad37d3c66757a3354ae7c7fd03505d1cda112b6000b09c5fff45490fcfcde
MD5 c77efc0ae4c8ac5d183d127a06c6e314
BLAKE2b-256 b0cf275a1fc1628875772587f3a5a62b410a27f2cebfd65e11ff5b1bb45d1a64

See more details on using hashes here.

File details

Details for the file solveblog-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: solveblog-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for solveblog-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 82d0df4553edf1f0f1ef8730c8b1d9888e8783b0663852eef208dffdcd9c099c
MD5 d961a3535b0f3cda121d723bc6daa39d
BLAKE2b-256 b27486a279a5f77082b73806ca678802e2f9f456e7ad7a2535016f7abbdeb39e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page