The smallest CMS engine ever, made with ASP. NET Core and Dapper

Overview

TinyCMS

GitHub Super-Linter CodeQL Deploy on Azure

The smallest CMS engine ever, made with ASP.NET Core and Dapper. Currently, only static content is supported, but adding new pages is as simple as inserting a new row in a database table with the raw HTML content of the page.

Setup

  1. Create database tables using the scripts available in the TinyCms.Database project
  2. Insert a row in the Sites table (currently, only a single site is supported)
  3. Insert at least a row in the ContentPages table for the Home Page of the site, using index as url. The Content column can be any HTML
  4. Create all the other pages in the ContentPages table, with the url you want
  5. (optional) Specify 404 and 403 response pages inserting the corresponding rows in the ContentPages table, using 404 and 403 url respectively
  6. Set the database connection string in the appsettings.json file.
  7. Have fun 😉

Contribute

The project is constantly evolving. Contributions are welcome. Feel free to file issues and pull requests on the repo and we'll address them as we can.

Comments
  • Split database and site deployment actions

    Split database and site deployment actions

    Currently, there is a single action that deploys both the database and the site. It must be splitted so only the single interested part is deployed when changed.

    enhancement 
    opened by marcominerva 0
  • FileSystemStorageProvider crashes if file does not exist

    FileSystemStorageProvider crashes if file does not exist

    If the requested file does not exist, the FileSystemStorageProvider.ReadAsStringAsync method throws a NullReferenceException instead of just returning null.

    bug 
    opened by marcominerva 0
  • Read content from an external storage

    Read content from an external storage

    At this moment, Content column in ContentPages can contain HTML or Markdown. It is necessary to add the ability to specify also a source file (with extensions: .inc, .html, .htm, .md) to provide this content from an external storage. Local file and Azure Storage must be supported.

    enhancement 
    opened by marcominerva 0
  • Add the ability to disabile a site at all

    Add the ability to disabile a site at all

    It is necessary to add an IsPublished column to the Sites table so that we can easily enable/disable the entire site rather than a single page. If a site isn't published, each request should return 404.

    enhancement 
    opened by marcominerva 0
  • Add favicon

    Add favicon

    It is necessary to add a FaviconUrl column in the Sites table, to define the favorite icon of the site. Then, it is useful to provide the same column also in the ContentPages table, if we need to redefine the favorite icon for a particular page.

    enhancement 
    opened by marcominerva 0
  • Create a script to initialize the database

    Create a script to initialize the database

    It is necessary to create an init script (put it in the scripts folder of the database folder) that creates the tables (using the existing SQL create files), then add a sample site with an index page (just a simple title is fine). It this way, it will be easier for user to create a first site to start experimenting with the CMS.

    enhancement help wanted 
    opened by marcominerva 0
  • Provide a custom error page

    Provide a custom error page

    It is necessary to define a custom layout for the error page, that is shown when there is an unexpected error. Ideally, it should be a content page with a well-known url, for example error, that specifies the content to be shown when an error occurs. If no page is defined, the default one should be used.

    enhancement 
    opened by marcominerva 0
Owner
Marco Minerva
A closed application works by design
Marco Minerva
Gym Project to Learn ASP.NET Core

OneFitnessVue Gym Project to Learn ASP.NET Core. Read the Documentation » ⚡️ This is Sample Project Which Does not Contain All Features. ?? Buy Comple

Saineshwar Bageri 31 Jan 3, 2023
ASP.NET core, PostgreSQL

Technologies CityApp is built using the following technologies: Visual Studio 2017 ASP.NET Core (Targeting .net 4.61) SQL Server 2014/Azure SQL for da

Dredsoft 3 Sep 15, 2022
Create a C# .NET core EntityFramework ORM from your schema.prisma file

A note of forewarning to the would-be user... This was a failure. I'm making a note here: huge regret. It's hard to overstate my dissatisfaction. ?? S

Ian Ray 9 Dec 24, 2022
An animation library, built on the Web Animations API for the smallest filesize and the fastest performance

motion-signals A wrapper over Motion One, An animation library, built on the Web Animations API for the smallest filesize and the fastest performance.

Tanvesh Sarve 48 Dec 27, 2022
The 2Kb smallest Chat component.

tidi Meet tidi, the 2kb bubble chat component for any website... made using preact, running with a 4MB compiled backend service. FrontEnd Backend Disc

darker 72 Dec 11, 2022
An extension for rating the web and making your browsing experience better than ever.

Hookmark An extension for rating the web and making your browsing experience better than ever. Read more about it here Update Firefox extension was un

Haridarshan Choudhary 9 Sep 17, 2022
A script that implements a GUI to make cheating on Blooket easier than ever.

BlooketUI What's BlooketUI? A script that implements a GUI to make cheating on Blooket easier than ever. How do i Use This? Copy the code of src.js by

null 66 Dec 24, 2022
The only Backend you'll ever need. Written in NodeJS, works with any stack

The only Backend you'll ever need. Written in NodeJS, works with any stack Conduit Platform Conduit is a NodeJS-based Self-Hosted backend, that aims t

Conduit 225 Jan 3, 2023
The only job board you will ever need.

Jobilist A stunning job search engine that helps job seekers find the perfect employment opportunity by connecting them with the best employers around

Jobilist 14 Dec 23, 2022
The easiest quiz night you'll ever run.

Quizzler The easiest quiz night you'll ever run. About The Project Quizzler is a fun new way to practice, improve, and test your Javascript skills. Du

Wasim Reja 11 Dec 4, 2022
Grassp is the first ever CLI based Micro Learning Tool!

grassp-cli Grassp is the first ever CLI based Micro Learning Tool! grassp-cli Usage Commands Usage $ npm install -g grassp $ grassp COMMAND running co

Sahil Pabale 9 Aug 9, 2022
Sharing short code samples, logs or links is now easier than ever!

Pastebin Sharing short code samples, logs or links is now easier than ever. Explore the docs » • Report Bug • Request Feature • About The Project With

Prasoon Soni 4 Nov 26, 2022
The only developer portfolio template you'll ever need with modern UI/UX.

Personal Portfolio Deployed link: https://parthmittal.netlify.app/ Table of Contents ?? Tech Stack Implemented Sections Use as a theme Contributing In

Parth Mittal 12 Dec 29, 2022
Simplest ever I18N 1 KB library for HTML/JavaScript apps.

Ultimate I18n JS ?? Ultimate internationalization library for web applications. Super simple & easy. Less than 1KB (minified and gziped). 0 dependenci

Bart Tadych 8 Dec 22, 2022
The first ever MC:BE ForceOP Exploit utilizing a user impersonation exploit within Bedrock Dedicated Server

EliteElixir The first ever MC:BE ForceOP Exploit utilizing a user impersonation exploit within Bedrock Dedicated Server This tool uses the sub_client_

null 28 Jul 27, 2023
The project integrates workflow engine, report engine and organization authority management background, which can be applied to the development of OA, HR, CRM, PM and other systems. With tlv8 IDE, business system development, testing and deployment can be realized quickly.

介绍 项目集成了工作流引擎、报表引擎和组织机构权限管理后台,可以应用于OA、HR、CRM、PM等系统开发。配合使用tlv8 ide可以快速实现业务系统开发、测试、部署。 后台采用Spring MVC架构简单方便,前端使用流行的layui界面美观大方。 采用组件开发技术,提高系统的灵活性和可扩展性;采

Qian Chen 38 Dec 27, 2022
ITkonekt .NET workshop

Autobarn This is the sample application for Dylan Beattie's workshop on distributed systems with .NET. It's an Asp.NET Core web application based on v

Ursatile 1 Dec 19, 2021
Export Diagrams.net diagrams during Dendron site publishing

Export Diagrams.net diagrams during Dendron site publishing Node module for exporting Diagrams.net (Draw.io) diagrams embedded in a published Dendron

Luke Carrier 4 Aug 18, 2022
This template is for generating a .NET C# wrapper for the RabbitMQ client based on your AsyncAPI document.

.NET C# RabbitMQ template This is a .NET C# RabbitMQ template for the AsyncAPI generator This template is for generating a .NET C# wrapper for the Rab

AsyncAPI Initiative 5 Dec 21, 2022