Topica is a very lightweight web content engine, designed to be used for personal sites.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Tim Habersack 7c0c2a5aa8 mostly up to date 8 months ago
app mostly up to date 8 months ago
www tons of stuff, push to getting it live for me 8 months ago
.gitignore tons of stuff, push to getting it live for me 8 months ago
LICENSE.txt tons of stuff, push to getting it live for me 8 months ago
NOTES.md have topic page workin 1 year ago
README.md mostly up to date 8 months ago
TODO.md mostly up to date 8 months ago
birth_of_topica.sql forgot db birth 9 months ago
composer.json tons of stuff, push to getting it live for me 8 months ago
push_to_test.sh tons of stuff, push to getting it live for me 8 months ago

README.md

Topica

Topica is a very lightweight web content engine, designed to be used for personal sites. It utilizes some packages, and these have almost no other dependencies, so codebase is pretty small.

This is still a work in progress, so expect some bumps!

To see it in action, go to my site, https://tim.hithlonde.com

About

This is a very opinionated content engine. There are no comments, no one can create content on the site except a single, all-powerful admin.

It was designed for speed above almost all else. I developed this on a Raspberry Pi 2 B, and I couldn’t get responses greater than 250ms. That is good!

There are two “content types”, topics and updates.

Topics

These have a subject, body, can attach an image or file. These are for more involved things to share, or things you will be iterating on.

Updates

These just have a body and can attach an image or file. These are for those small updates. They can be either attached to a topic, (think like topic children) or totally alone.

Requirements

  • PHP 7+, packages: gd, xml, mysql etc
  • MariaDB/MySQL
  • Composer, to install the required packagist packages

Install

  1. Get a copy of the codebase.
  2. Copy /app/config/_env.php.template to /app/config/_env.php
  3. Edit _env.php to add the database connection, site options.
  4. Run php composer.phar install (Or however you run https://getcomposer.org/)
  5. Ensure that /www/file/ can be written to by Apache, Nginx, or whatever you’re using!
  6. Success?

Usage

Todos

Topics have a unique ability in that they can have todos within the content.

ex

* thing one done
* todo:[thing two]

All viewers of the site will just see to items in that list, and second element will be thing two only. But admins see a link of todo: thing two. When clicked on this takes you to a modified Create new topic page that is like normal except it has your topic you were just on as the parent topic.

When viewing the child topic in the list views or single view, it will mention that it is < Part of {parent topic title here}

Eventually I want to have parent topics have a generated list of all children topics added to the bottom of the topic.

Tags

Topica supports tagging like how most social platforms manage it. Just use the octothorpe.

This is an example sentance with a #tag in it, yay!

Whenever a tag is clicked in Topica, it’ll filter to only content that has been tagged with that specific tag.

License

Copyright 2019 Tim Habersack

Topica is released under an MIT license. http://opensource.org/licenses/MIT