cre8magic for Oqtane โ Professional Theme Design
ย
๐ช๐ช๐ช Create Magic / Stunning / Amazing Designs on Oqtane ๐ช๐ช๐ช
ย
Oqtane is a Blazor based platform to create awesome solutions. It is heavily inspired by the Site/Page/Module model used in DNN. So itโs almost ready to create awesome websites and CMS solutions.
But there are two missing pieces (โฎ๏ธ) to create amazing websites:
- Real Content-Management features - which can be done with the extension 2sxc
- Tools to make designing themes fast and professional - enter: cre8magic
cre8magic makes Oqtane Designer-Friendly
As a designer, you need certain tools and workflows to be efficient, such as:
- the ability to make a small change and then reload the page to see the result
- the need to focus on the what (like the design), without wasting time on the how (like C# code to create the menu)
- the ability to create variations of your work, such as other layouts which are similar
- every tool you add (such as cre8magic) should help, but never restrict
These aspects are important for the productivity of every designer. Now if youโve worked with Oqtane (or Blazor for that matter) you will quickly see that this is not possible. This means you can whatever you want, but there is a lot of code involved, and a lot of time-consuming restarts.
cre8magic takes care of all these problems ๐
cre8magic combines very simple Razor and lets you do everything through settings.
Most layouts have very similar HTML, but do vary a bit. For example, it could have different CSS classes to give it the look you need or a different logo file.
imagine tweaking this at runtime (without compiling) ๐
Overview
This is how cre8magic enhances Oqtane so that your Theme can focus on the design:
The resulting page will usually have something like this:
๐๐พ Discover how it works
See a Working Example and Get Started
Since this is a library, just reading the docs wonโt cut it. Itโs best to see this in action on a real-life example. Try the ToShine Theme Template, it will make things much easier to understand.
๐๐ผ See 2shine Theme Template
๐๐ผ See Get Started
Whatโs in the Magic Box
-
Magic Settings: A Settings / Configuration System ๐๐พ see Magic Settings ๐๐พ see Settings JSON file ๐๐พ see JSON schema
- Magic Razor Base Classes
These are the important base classes which your Razor files will inherit.
All have in common, that they know about the theme-wide
Settings
and provide helper methods to get things done easily and quickly, with as little code as possible.- Theme / Container Level Base Classes
MagicTheme
- the foundation for ThemesMagicContainer
- the foundation for Containers
- Important Base Controls / Components
MagicLanguages
is the base for the languages menuMagicBreadcrumbs
is the base for the breadcrumbsMagicMenuRoot
is the base for menu entry point, loading the configuration, nodes etc.MagicMenuBase
is the base for each menu type, like Horizontal, Vertical, Mobile, โฆMagicLogin
is the base for login/logout icons and texts
- Generic Base Controls / Base Components
These are meant for any other custom controls that you have.
MagicControl
is for razor controls that has the Octane API (it inherits fromThemeControlBase
)MagicComponent
is for razor controls with just the basic Razor API (inherits fromComponentBase
)
- Theme / Container Level Base Classes
- Magic Razor Controls / Components
These are standalone controls for you to use, which you will normally just use but not inherit, as they already have their HTML output or something.
Anything we refer to as a
Control
inherits from the OqtaneThemeControlBase
, while things we refer to as aComponent
inherit from the .netComponentBase
.- Functional Controls / Components
MagicOqtaneControlPanel
a control which adds the main control panel for adminsMagicContextAndSettings
a wrapper used in every theme to ensure MagicContext and MagicSettings work
- Debug and Error Handling
MagicExceptions
a control showing important errors to adminsMagicMenuDebug
a debug helper to see what configuration a menu has and whyMagicLanguagesDebug
a debug helper to see what configuration the laguages haveMagicThemeDebug
debug helper to see all the current settings on this theme
- Functional Controls / Components
Documentation is hosted with GitHub Pages
History
โ See change log