majda107 / razorfields

A universal solution for editable copywriting in ASP.NET core

Home Page:https://www.nuget.org/packages/RazorFields

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RazorFields Generic badge

A universal solution for editable copywriting in ASP.NET core

While RazorFields are under active development, the project is fully functional in it's present state (and being used in several apps of mine). Keep in mind that occassional issues may popup.

What can RazorFields do?

  • simplify your template copywriting
  • separate copywriting X templating layers
  • store actual fields in persistent storage (EntityFramework, more comming soon...)
  • generate API for editing whole system at runtime

Documentation

  • to be done, see examples folder (RazorFields.Demo project)

Nugets

Setup

  • register in services services.AddRazorFields();

  • create public record of yours and tag it with a [RazorModel] attribute

  • inject RazorFields service with DI private readonly IRazorFieldsService _rfs;

  • query tagged razor models var razorModel = _rfs.GetModel<HomeRazorModel>();

Optional

  • add entity framework persistence services.AddRazorFieldsEntityFramework<DatabaseContext>();
  • create Rest API controller
public class RazorFieldsController : RazorFieldsControllerBase
{
    public RazorFieldsController(IRazorFieldsService rfs) : base(rfs)
    {
    }
}

Roadmap

  • In-memory razor model caching

  • Attribute for injection

  • Extension loader

  • EntityFramework connector extension nuget

  • Rest API extension nuget

  • Versioned RazorModel (eg. abstract razor model template you can create versions of)

  • MongoDB connector extension

  • Redis connector extension

  • Admin UI extension

  • Custom distributed cache extension (memory cache, redis)

  • ? Saga-based history extension

License

RazorFields project is licensed under the MIT License

About

A universal solution for editable copywriting in ASP.NET core

https://www.nuget.org/packages/RazorFields

License:MIT License


Languages

Language:C# 100.0%