Skip to content
A blog built with ASP.NET Core
C# CSS HTML JavaScript PLpgSQL
Branch: master
Clone or download
FanrayMedia Extensible Architecture (#321)
* refactor: Add Fan.WebApp project #304

* feat: the Shortcodes plugin #307

* chore: Update .gitignore for Fan.WebApp #306

* chore: Update sln file and sql folder #306

* refactor: Shortcodes plugin #307

* feat: Add IsRunningFromTestHost to Util #306

* feat: Add plugin info and service #303

* refactor: Shortcodes plugin #307

* feat: Add plugins page to admin panel #303

* feat: Add IExtensibleService #303

* refactor: Move BlogTags widget out of WebApp #308

* refactor: Add Manage to Shortcodes plugin #307

* refactor: Move Clarity theme to its own project #309

* fix: minor tweak to Shortcodes.csproj #307

* fix: Minor tweak to BlogTags.csproj #308

* refactor: Restructure solution #306

* fix: Clarity package.json path #309

* refactor: Move Components from WebApp to Web #309

* feat: extensible architecture #306

* perf: Optimize TypeFinder #310

* feat: Initial commit on ForkMeRibbon plugin #311

* feat: Update Shortcodes plugin json file #307

* feat: Update widgets #308

* refactor: AreaTagHelper for plugins and widgets #306

* chore: Update README.md #306

* feat: the ForkMeRibbon plugin #311

* feat: Update ShortcodesHandler to check if plugin is active #307

* refactor: Rename info to manifest, gets rid of GetWidgetAsync #306

* refactor: Rename info to manifest #306

* chore: Update azure-piplelines.yml #306

* build: Update appveyor.yml #306

* docs: Update README.md #306

* refactor: plugin settings and load manifest #306

* refactor: widgets and plugins share _SettingsLayout #306

* refactor: Admin extension js and css clean up #306

* chore: Update .gitignore #306

* chore: Upgrade to latest js libs #306

* feat: Add syntaxhighlighter to Shortcodes plugin #307

* build: Add dotnet test for each test proj for linux build #312

* feat: Include css lib in ForkMeRibbon plugin #311

* refactor: Update folder structure for Shortcodes client #307

* build: Remove test projs for linux #312

* fix: RecentBlogPosts widget shows draft post #305

* build: azure devops badge and linux build #312

Add branch name to Azure DevOps status badge and retest linux build with sdk 2.2.203

* build: Fix Azure DevOps build url #313

* build: Update test proj files #312

* chore: Upgrade to latest nuget pkgs #306

This upgrade had 2 breaking changes on AddAutoMapper and AddMediatR.

* chore: Update SysVer to v1.1.0-preview3 #306

* chore: Update plugin details url #306

* build: Rewrite linux job with timeout #312

* build: Azure pipeline remove code cov from linux #312

* refactor: Simplify MediaService Resize code #306

* fix: Duplicate image filename when dnd image #314

* fix: Resp img md and lg to be 2x and 3x #302

* fix: MediaService check img filename exists before create #314

* build: Remove timeout from linux build #312

* build: Add .travis.yml #306

* build: Add run-test.sh and update .travis.yml #312

* build: Update .travis.yml for dotnet test #312

* build: Remove ThemeServiceTest #312

* build: Comment out PluginServiceTest #312

* build: Comment out WidgetServiceTest #312

* build: Uncomment PluginServiceTest #312

* build: Add Serilog to PluginServiceTest #312

* build: Uncomment WidgetServiceTest #312

* build: Update serilog output debug in tests #312

* build: Comment out some tests from WidgetServiceTest #312

* build: Update azure pipeline and theme service #312

* build: Update theme service folder logic #312

* build: Update azure pipeline linux test timeout #312

* build: Comment out most of WidgetServiceTest #312

* build: Comment out WidgetServiceTest #312

* build: comment out widget service test #312

* build: azure pipeline linux test timeout to 5min #312

* build: comment out pluginservice tests #312

* build: comment out plugin service test #312

* build: comment out plugin svc test #312

* build: comment out theme svc tests #312

* build: test dir #312

* build: uncomment test GetManifest #312

* build: Revert back Fan.IntegrationTests #312

* build: Comment out tests for linux builds for now #312

* docs: Update README.md #306

* feat: Add url and fixed props to ForkMe plugin #311

* feat: Update ForkMe fixed to sticky #311

* refactor: BlogArchives widget #308

* refactor: BlogCategories widget #308

* refactor: RecentBlogPosts widget #308

* refactor: SocialIcons widget #308

* fix: Month end un-representable DateTime #316

* fix: Media gallery fails to display preview img #317

* refactor: Change widget edit page to settings #308

* refactor: Upgrade draggable to 2.21 #306

* fix: Update axios url in widget settings pages #308

* fix: Ext settings ifrm fit content height #306

* refactor: Update all admin js files with latest babel #306

* build: Uncomment some of the test project from travis #312

* docs: Update README.md screenshots #306

* chore: Update README.md #306

* build: Update README.md build icon to master #306

* feat: Activate ForkMe plugin on setup #303

* fix: TypeFinder from top dir to all dir #306

* fix: ReflectionTypeLoadException in TypeFinder #318

* fix: RecentBlogPosts widget loads wrong number of posts #320

* fix: Add catch exception to TypeFinder #318
Latest commit 9504d66 Jun 4, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
sql feat: Update Migrations and Sql Scripts for going v1.1 #279 Mar 23, 2019
src Extensible Architecture (#321) Jun 4, 2019
test Extensible Architecture (#321) Jun 4, 2019
.gitattributes Added .gitattributes Aug 15, 2017
.gitignore Extensible Architecture (#321) Jun 4, 2019
.travis.yml Extensible Architecture (#321) Jun 4, 2019
CONTRIBUTING.md docs: Clean up contributing info #259 Oct 12, 2018
Fanray.sln Extensible Architecture (#321) Jun 4, 2019
LICENSE #79 Update license to Apache License 2.0 Nov 27, 2017
README.md Extensible Architecture (#321) Jun 4, 2019
appveyor.yml
azure-pipelines.yml

README.md

Fanray

A simple and elegant blog

ScreenshotsFeaturesQuick StartContributeLicense

AppVeyor Azure Pipelines Travis CI 996.icu

Screenshots

Features

Fanray has an extensible design that allows you to create plugins, themes and widgets. It provides basic infrastructure for building your own web apps on .NET Core. See wiki for more details.

Fanray-Extensible-Architecture

Blog Infrastructure
Autosave Draft Preferred Domain Caching
Categories Responsive Images Error Handling
Comments (Disqus) RSS Events
Google Analytics SEO-Friendly URLs Image Resizing
Media Gallery Shortcodes Logging (File, Seq, ApplicationInsights)
Navigation Site Installation Middlewares
Open Live Writer Tags Mini SPAs
Pages Themes Settings
Plugins Users Storage (File System, Azure Blob Storage)
Posts Widgets Testing (Unit, Integration)

Quick Start

Fanray v1.1 runs on .NET Core 2.2 and SQL Server. Any of the free SQL Server editions, LocalDB, Express, Developer will be sufficient.

Clone the repo then run from either VS2019 or command line.

  • VS2019: open Fanray.sln, make sure Fan.WebApp is the startup project, Ctrl + F5
  • Command line: do the following, then go to https://localhost:5001
cd <sln folder>
dotnet restore
cd src/Core/Fan.WebApp
dotnet run

Database is created for you on app initial launch. Below is the default connection string, to adjust it go to appsettings.json

"ConnectionStrings": {
  "DefaultConnection": "Server=(localdb)\\MSSQLLocalDB;Database=Fanray;Trusted_Connection=True;MultipleActiveResultSets=true"
},

The blog setup page will show up on initial launch, simply fill the form out and create your blog.

Contribute

Please refer to Contributing Guide.

Support Me

Buy Me A Coffee

License

Apache 2.0

You can’t perform that action at this time.