Git Product home page Git Product logo

sblog.net's Introduction

sBlog.Net

In a very few words, sBlog.Net is a minimalistic blog engine. This project was heavily inspired by wordpress, though there are a lot more to come in the following days! You will be able to do all of the normal activities that you could do in a blog like adding a post or page, adding categories or tags, adding additional authors and many more. If I have to describe sBlog.Net in a single sentence, I would say,

"For the love of asp.net mvc and wordpress"

To get started, you just need an instance of Visual Studio 2010/2012 with ASP.Net MVC 4, MS SQL server (express should also be fine) and optionally IIS.

Release Notes for v3.0

Feature additions

  • Fresh and clean admin UI using bootstrap with easily accessible menus & interface
  • More themes
  • Ability to use markdown editor w/ live preview instead of ckeditor w/ options to easily switch
  • Ability to auto save drafts every 30 seconds
  • Social bar in the blog footer
  • Ability to select blog theme using the web.config or the admin interface
  • Ways to identify private posts easily
  • Shortcuts in the dashboard for most frequently used options
  • Live preview for syntax highlighter on the admin section to see how code sections will look
  • Tabbed interface for blog settings
  • Ability to shorten urls using the blt.ly service
  • Mini profiler support

Thanks for trying out sBlog.Net! http://sblogproject.net

sblog.net's People

Contributors

karthik25 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sblog.net's Issues

bin folder not present

Why is there no bin folder in \sBlog.Net-v3.0\sBlog.Net ?
it is causing build errors because of the missing sBlog.Net.dll file.

actual error: Metadata file 'D:\sBlog.Net-v3.0\sBlog.Net\bin\sBlog.Net.dll' could not be found

more robust post entity

hello, just a suggestion as i am going to try my hand at implementing this myself. but i think a more robust post entity would be nice and allow alternate layouts depending on what sort of stuff was attached to the post. i.e. specifically, a table for files associated with the post.

with that, you could create downloadable assets associated with the post, add banner graphics to a post, and also have an easy way to embed videos associated with the post.

Something like the following:

on the post:



public List<AttachmentEntity> Attachments { get; set; }

namespace sBlog.Net.Domain.Entities
{
    [Table(Name = "Attachments")]
    public class AttachmentEntity
    {
        [Column(IsPrimaryKey = true, IsDbGenerated = true, AutoSync = AutoSync.OnInsert)]
        public int AttachmentId { get; set; }
        [Column] 
        public int PostID { get; set; }
        [Column] 
        public string AttachmentName { get; set; }
        [Column]
        public string AttachmentType { get; set; }
        [Column]
        public string AttachmentPath { get; set; }
        [Column]
        public PostContextType PostContext { get; set; } 
    }

    public enum PostContextType //context of the post, is this for a banner?  a main content video?  downloadable asset?
    {
        Video,
        Banner,
        Downloadable
    }
}

Also, you could store the entire file in the db as a byte array and decode the context on the other side for secured files...

Provide the ability to log to various formats [txt, database etc] for debugging

Provide the ability to log to various formats [txt, database etc] for debugging. This could be done using MEF, so that the logging could be done optionally, if required. So, this would require the following:

(1) Create a ILogger interface w/in sBlog.Net.Extensibility
(2) Modify NinjectControllerFactory.cs. After the controller instance is created, compose that instance.
(3) Add imports in the base controller, provide a method to log (virtual methods)
(4) Add logging statements as required


Based on @shiggan arguments, check if you could just use log4net/ nlog.

Multi-User Blog

I have a need to allow multiple users in a group to have an individual blog of their own. Not all posting in the same blog as authors.

Ideally, I would be able to switch to each authors blog via a URL. I do see that the Posts in the database has an owner field, but it appears to be ignored.

Is there an easy way to accomplish this with sBlog?

RenderSection doesnt seem to work.

So, in my layout, i want the tags for an individual post to show in the sidebar, so to do this i used RenderSection but it refuses to render... even debugging it just glances right over it, any ideas?

in my _Layout:

    @RenderSection("tags", false)

the tags themselves:

@section tags { 

<h3 class="section-title">Tags</h3>
<div class="widget tags-wr">
    <ul class="tags-list">
        @foreach(var t in Model.Post.Tags)
        {
        }
        @if (Model.Count > 0)
        {
            foreach (var tag in Model.Where(tag => tag.IsTagEntityValid()))
            {                                           
              <li><i class="fa fa-tags"></i> @Html.RouteLink(tag.TagName, "Tag", new { tagName = tag.TagSlug })  </li>
            }
        }
        else
        {
              <li><i class="fa fa-tags"></i>No tags!</li>
        }
    </ul>
</div>
}

"An error has occurred" page when logged in, suddenly

The title says it all! Here is the complete exception from the Errors table

System.NullReferenceException: Object reference not set to an instance of an object. at System.Security.Claims.ClaimsIdentity.<get_Claims>d__0.MoveNext() at System.Security.Principal.GenericIdentity.OnDeserializedMethod(StreamingContext context) at Microsoft.VisualStudio.WebHost.Connection.get_RemoteIP() at Microsoft.VisualStudio.WebHost.Request.GetRemoteAddress() at System.Web.HttpWorkerRequest.IsLocal() at System.Web.HttpRequestWrapper.get_IsLocal() at System.Web.WebPages.WebPageBase.ExecutePageHierarchy() at System.Web.Mvc.WebViewPage.ExecutePageHierarchy() at System.Web.WebPages.StartPage.RunPage() at System.Web.WebPages.StartPage.ExecutePageHierarchy() at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) at System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer) at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) at System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult) at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1c.b__19() at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func1 continuation) at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1c.<>c__DisplayClass1e.<InvokeActionResultWithFilters>b__1b() at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList1 filters, ActionResult actionResult) at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)

Unable to Post content

I am getting an exception

"A potentially dangerous Request.Form value was detected from the client"

So I have changed the code as

if (keyName.Equals("Post.PostContent"))
{
var unvalidatedValueProvider = bindingContext.ValueProvider as IUnvalidatedValueProvider;
return unvalidatedValueProvider.GetValue(keyName, true).AttemptedValue;
}

CKEditor

Uncaught TypeError: Cannot read property 'textColorTitle' of undefined ckeditor.js:47

CultureInfo missing in Mocks

Hi,

I am sitting in Germany and i had to set the "en-us" CultureInfo in the DateTime.Parse methods located in MockPost and MockComment classes. Otherwise it was not able to parse all the hardcoded dates.

Have a nice day and thanky you for your blog!
Pietro

Setup does not start during first run

Setup does not start during first run - due to the addition of custom razor view engine in global.asax.cs

private void SetupViewEngines()
{
     var settings = InstanceFactory.CreateSettingsInstance();
     ViewEngines.Engines.Clear();
     ViewEngines.Engines.Add(new CustomRazorViewEngine(settings.BlogTheme)); <--- error, load the default view engine if BlogTheme is null
 }

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.