Code Monkey home page Code Monkey logo

eloquentia's Introduction

Eloquentia: A quirky, tag-based blog engine

Why?

Why not? :) I (Thiago) for a long time had an idea of writing a blog engine that was heavily based on tags and which provided specific the option of having per-tag and per-post style. In addition, it would be used as a light CMS too, so that's why Eloquentia uses the word 'page', not 'post'.

Another reason was creating a pratical, useful project to learn some new interesting stuff like Apache Tapestry 5.4 (due to the project at work, I barely had used T5.2 and later), MongoDB (I've never used a NoSQL database before) and Twitter Bootstrap.

Tags, tags everywhere

Each tag has:

  • A name, which can only use lowercase letters, digits or dashes ('-')
  • A boolean 'subdomain' field which defines affects the tag URL.
  • A title
  • An optional subtitle, which is used in the tag page and in pages which have this tag as their first one.
  • CSS which will be added to its page and to all pages which have that tag.

The URL of a tag is based on its the name. For example, if a tag name is tapestry, the URL will be tapestry.domain.com if it's marked as a subdomain and domain.com/tag/tapestry otherwise.

Pages (posts)

Each page has:

  • An URI, which is used to define the page's URL. It can use lowercase letters, digits, dashes ('-') and slashes ('-'), but cannot start or end with a slash.
  • A title
  • A teaser, which is a short text describing the page and used in the page listing and RSS feed.
  • The content itself.
  • The date (including time) in which it was posted. Dates in the future are used to schedule when a given page should appear.
  • The date (including time) in which it was last edited
  • An author

The URL of a given page depends on its first (as in order) of its tags, if any. Suppose a page with URI stuff/eloquentia and tags project and java. If project is a tag marked as a subdomain, the URL of the page will be http://project.domain.com/stuff/eloquentia. Otherwise, it'll be http://domain.com/stuff/eloquentia.

Database

Eloquentia is configured to use a local MongoDB instance without authentication. Its page, tag and user collections are supposed to be in the eloquentia database. This isn't configurable yet.

Eloquentia is powered by

eloquentia's People

Contributors

thiagohp avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.