An open source extensible static & dynamic blog system.
- Based on WebAssembly
- Single Page APP
- Installable
- Offline
- Frontend
- WebAssembly: full static files
- SPA with server prerender
- Backend
- Static-file backend with generator
- Dynamic server backend
- Post
- Category & Keywords
- Markdown rendering
- LaTeX math rendering
- Password protection
- Table of contents
- Slides
- Preview & Full page
- Note
- Docker deployment
Use AcBlog's WebAssembly client docker image:
docker pull acblog/wasm:latest
docker run -d -p 8000:80 acblog/wasm:latest
You can use volumn to apply settings:
docker run -d \
-v $PWD/appsettings.json:/app/appsettings.json \
-v $PWD/manifest.json:/app/manifest.json \
-p 8000:80 acblog/wasm:latest
For GitHub Pages hosting, you can use wasm-ghpages-generate-action.
Use AcBlog's WebAssembly hosted client docker image:
docker pull acblog/wasm-host:latest
docker run -d -p 8000:80 acblog/wasm-host:latest
You can use volumn to apply settings:
docker run -d \
-v $PWD/appsettings.json:/app/appsettings.json \
-v $PWD/manifest.json:/app/wwwroot/manifest.json \
-p 8000:80 acblog/wasm-host:latest
Use AcBlog's static generator:
dotnet tool install -g AcBlog.Tools.StaticGenerator --version 0.0.1 \
--add-source https://www.myget.org/F/stardustdl/api/v3/index.json
acblog-sgen -o ./dist
For GitHub Pages hosting, you can use static-backend-generate-action.
Use AcBlog's API server docker image:
docker pull acblog/api:latest
docker run -d -p 8000:80 acblog/api:latest
Use docker-compose to deploy WebAssembly hosted client and API server:
cd docker/deploy
docker-compose up
Maybe you need to restart api container after database initializing.
Use AcBlog's command-line SDK tool to communicate with AcBlog server.
dotnet tool install -g AcBlog.Tools.SDK --version 0.0.1 \
--add-source https://www.myget.org/F/stardustdl/api/v3/index.json
acblog --help
- Install .NET Core SDK 3.1, NodeJS 12.x and npm.
- Install Gulp & Libman
npm install -g gulp
dotnet tool install --global Microsoft.Web.LibraryManager.Cli
- Restore dependencies
pwsh -c tools.ps1 restore
- Build project
dotnet build
pwsh -c tools.ps1 test
pwsh -c tools.ps1 benchmark