All Projects → FeatherCMS → Feather

FeatherCMS / Feather

Licence: other
Feather is a modern Swift-based content management system powered by Vapor 4.

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Feather

Ghost Cli
CLI Tool for installing & updating Ghost
Stars: ✭ 313 (-16.31%)
Mutual labels:  cms, publishing, blogging, journalism
Ghost
Turn your audience into a business. Publishing, memberships, subscriptions and newsletters.
Stars: ✭ 39,261 (+10397.59%)
Mutual labels:  cms, publishing, blogging, journalism
Postleaf
Simple, beautiful publishing with Node.js.
Stars: ✭ 520 (+39.04%)
Mutual labels:  cms, publishing, blogging
Cusca
A ghost theme
Stars: ✭ 42 (-88.77%)
Mutual labels:  publishing, blogging, journalism
Web Publisher
Superdesk Publisher - the next generation publishing platform for journalists and newsrooms.
Stars: ✭ 82 (-78.07%)
Mutual labels:  cms, publishing, journalism
Thunder Distribution
A Drupal 8 based platform for professional publishers
Stars: ✭ 107 (-71.39%)
Mutual labels:  cms, publishing, journalism
Elefant
Elefant, the refreshingly simple PHP CMS and web framework.
Stars: ✭ 188 (-49.73%)
Mutual labels:  cms, blogging, framework
ghost-on-heroku
One-button Heroku deploy for the Ghost 3.2.0 blogging platform.
Stars: ✭ 232 (-37.97%)
Mutual labels:  blogging, journalism, publishing
Lumie
✨ An opinionated way to keep your express API organized
Stars: ✭ 277 (-25.94%)
Mutual labels:  api, framework
Messenger
Package messenger is used for making bots for use with Facebook messenger
Stars: ✭ 278 (-25.67%)
Mutual labels:  api, framework
Pyrocms
Pyro is an experienced and powerful Laravel PHP CMS.
Stars: ✭ 3,086 (+725.13%)
Mutual labels:  cms, framework
Cms
Club Management System of amFOSS, powered by CMS
Stars: ✭ 263 (-29.68%)
Mutual labels:  cms, framework
Php Curl Class
PHP Curl Class makes it easy to send HTTP requests and integrate with web APIs
Stars: ✭ 2,903 (+676.2%)
Mutual labels:  api, framework
Program Y
Python 3.x based AIML 2.0 Chatbot interpreter, framework, related programs and knowledge files
Stars: ✭ 281 (-24.87%)
Mutual labels:  api, framework
S Cart
This project has been replaced by https://github.com/s-cart/s-cart
Stars: ✭ 258 (-31.02%)
Mutual labels:  cms, framework
Caffeine Theme
A minimalist, Material Design inspired Ghost Theme for optimal desktop and mobile experiences
Stars: ✭ 300 (-19.79%)
Mutual labels:  publishing, blogging
Dope
A unique tag-based theme for Ghost
Stars: ✭ 44 (-88.24%)
Mutual labels:  blogging, publishing
Horse
Fast, opinionated, minimalist web framework for Delphi
Stars: ✭ 295 (-21.12%)
Mutual labels:  api, framework
Vuefront
VueFront Core. Turn your old-fashioned CMS website in to a SPA & PWA in 5 minutes
Stars: ✭ 316 (-15.51%)
Mutual labels:  cms, framework
Anchor Cms
A lightweight blog CMS for PHP
Stars: ✭ 3,359 (+798.13%)
Mutual labels:  cms, framework

Feather CMS

Feather CMS 🪶

🪶 Feather is a modern Swift-based content management system powered by Vapor 4.

💬 Click to join the chat on Discord.

Requirements

To use Feather you'll have to install Swift 5.3 or greater (using Linux or macOS is recommended).

If you need help installing Swift, you should follow the official instructions available on swift.org.

Installation

Clone or download the source files using the Feather repository.

git clone https://github.com/FeatherCMS/feather.git

Change the current working directory (located under the target setting when using Xcode) to the project directory.

cd feather

Create a dotenv file ( .env or .env.development) based on your environment) and config the following values.

# the base url of your web server
BASE_URL="http://localhost:8080"

# the base path (absolute) of the working directory
BASE_PATH="/path/to/feather/" 


# Optional environmental variables

# MAX_UPLOAD_SIZE="10mb"
# USE_FILES_MIDDLEWARE="true"

# Available database types: sqlite (default) / mysql / postgres
# DB_TYPE="mysql" 
# DB_HOST="127.0.0.1"
# DB_USER="feather"
# DB_PASS="feather"
# DB_NAME="feather"
# Default port numbers: mysql - 3306 / postgres - 5432
# DB_PORT=3306 

You can run the make env command to quickly create a development environment with the curret directory as a base path.

Start the server using the swift run Feather command (alternatively you can use the make run command).

Notes about using Xcode

  • ⚠️ Warning: DO NOT USE the swift package generate-xcodeproj command, it's deprecated.
  • ⚠️ Make sure that you open the project by double clicking the Package.swift file.
  • ⚠️ Set the custom working directory for the Feather scheme to the root of the project directory.
  • ⚠️ If needed setup a post-action script to automatically shut-down previous server instances (to avoid address in use errors).
  • ✅ Build and run the project as usual and enjoy your Feather powered site.

Docker support

Feather is also available on DockerHub, you can use the following command to pull the latest version.

docker pull feathercms/feathercms:latest

You can also build your own images using docker-compose for more information check the following wiki page

Configuration

The FeatherCore framework provides all the necessary API to configure your Feather application.

Database driver

By default Feather uses the SQLite driver, but it is possible to use PostgreSQL, MySQL (MariaDB) or even MongoDB as your database driver through the Fluent framework.

You should follow the instructions using the official Vapor docs to setup the right driver, but please note that the preferred drivers are PosgreSQL and SQLite for really small projects and development purposes.

File storage driver

The Liquid framework is an abstract file storage library that works with a local file storage driver, but it is also possible to use Amazon S3 as a cloud-based solution.

You can replace the default local driver with the S3 driver, which is powered by the Soto for AWS SDK.

Modules

Feather is a modular CMS system, you can add new modules as Swift package dependencies or place them under the Modules directory.

Feather gives you just a few core modules that you can also disable, but it is recommended to keep them around.

(e.g you only need an API, without web frontend or admin interface)

  • System - System functionalities, variables, run modes (install) and (later on) module management.
  • User - User authentication and role & permission based access control system.
  • Api - The API module is responsible for hooking up the public and private API endpoints.
  • Admin - This module contains standard admin related interface elements and tools.
  • Frontend - Provides the frontend layout including web page and menu management.

Every other module can be completely removed (just alter the SPM dependency & configuration file).

💡 Feel free to fork this repository and create your own configuration as per needed.

Using Feather CMS

After the server is running Feather will setup everything you need to run your site.

  • Bundled resources (public files and templates) will be copied to the project folder (if needed).

  • The first time when you open your page Feather will run in a "system install" mode, during this process:

    • All the necesseary models will be saved to the configured database
    • All the seed assets will be uploaded to the file storage
    • The "root" user account will be created
    • Sample content will be created
  • You are ready to use your Feather-based website.

Root user account

You can log in to the admin interface using the [email protected] & FeatherCMS user account.

⚠️ For security reasons, please change the default email & password using the user menu after the first login.

User guide

You can read more about how to use Feather in the wiki.

Custom templates

You can create your very own stylesheet by overriding the files inside the Public folder.

It is also possible to create custom theme for Feather by altering the templates inside the Resources folder.

⚠️ Keep in mind that these files are ignored from the git repository by default.

👻 You might want to change this behavior by updating your .gitignore file.

⭐️ If you delete a file from these folders the next time you run Feather it'll be restored automatically.

Contribution and support

🪶 Feather is an open source software and your contributions are more than welcome.

🔀 If you wish to make a change, please open a Pull Request.

🙏 Please don't hesitate to send your feedbacks, thoughts and ideas about Feather.

Credits

License

WTFPL - Do What The Fuck You Want Public License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].