Skip to content

A content management system for webcomics with a new UI.

License

Notifications You must be signed in to change notification settings

RitzyMage/comic-cms

Repository files navigation

Comic CMS

A content management system for webcomics with a bold new UI.

Built using TypeScript.

Features

  • Comic navigation by swiping
  • Animations to make comic navigating clearer
  • Static generation for SEO
  • Full comic transcripts for searchability and accessibility

Installation

Comic CMS consists of a client and server. The client is using nuxtjs; the server is using express. After pulling, run npm ci in both directories to install all dependencies.

You'll want to create a colors.scss file in client/assets/scss with the following content:

$primary: #64b5f6;
$primaryLight: #9be7ff;
$primaryDark: #2286c3;

$secondary: #81c784;
$secondaryLight: #b2fab4;
$secondaryDark: #519657;

$darkBackground: #333;
$mediumBackground: #444;
$lightBackground: #555;
$font: white;

(replace these with the color of your choice)

and similarly create a fonts.scss file in client/assets/scss:

@font-face {
  font-family: "Kalam";
  src: url("/fonts/Kalam-Regular.ttf") format("truetype");
}

@font-face {
  font-family: "Komika Axis";
  src: url("/fonts/KOMIKAX_.ttf") format("truetype");
}

$textFont: "Kalam", sans-serif;
$emphasisFont: "Komika Axis", sans-serif;

replacing these with the fonts of your choice.

You can also create a favicon in client/static/favicon.ico for your site.

You must have mysql or mariadb set up on your server. The client directory and server directory each need a .env file.

The client .env file should look like this:

API_URL=https://your.webssite/api

And the server should look like this:

PORT=8011
CLIENT_USER=******
ADMIN_USER=******
DB_PASS_CLIENT=******
DB_PASS_ADMIN=*******
JWT_SECRET=SOME_REALLY_LONG_SECRET_STRING

NODE_ENV=production

APP_URL=https://your.website/
COMIC_TITLE=the comic's title
COMIC_DESCRIPTION=a short description for the comic (used in the rss feed)
COMIC_AUTHOR=your name
[email protected]

The development version of the app can then be run by running ./run in the root directory of the project.

A production build can be generated by running ./build in the root directory of the project. Then the client/dist directory contains the front end and can be served statically. The server will be in server/build and can be started with node server/build/index.js (I recommend pm2 or forever to keep the server up when you exit the terminal).

An about page can be generated by creating a markdown file in client/content called about.md.

About

A content management system for webcomics with a new UI.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published