Giter Site home page Giter Site logo

funnelweblog / funnelweb Goto Github PK

View Code? Open in Web Editor NEW
97.0 22.0 55.0 60.82 MB

FunnelWeb is an open source blog engine targeted at developers

Home Page: http://funnelweblog.com/

License: Other

PowerShell 0.32% Shell 0.04% XSLT 2.83% C# 72.48% JavaScript 16.86% CSS 7.46% ASP 0.01%

funnelweb's Introduction

FunnelWeb

FunnelWeb is an open source blog engine, built by developers for developers. Instead of fancy quotes and oodles of widgets, we focus on letting you post beautiful code samples, keeping your markup clean and valid, and encouraging collaboration with rich comments. FunnelWeb is easy to install, and has an active community.

Markdown

FunnelWeb is built on top of Markdown which is a HTML abstraction layer allowing you to author your articles in a clean text format which will be transformed to HTML for serving on your site.

For editing we recommend that you use Downmarker which is just like Windows Live Writer but for Markdown.

Installing

Really we recommend that you grab the code from this repository and run the build.bat file. This will generate you an output that you can publish onto your server and run through the installer.

If you're not a fan of running bleeding edge software you can download a stable build.

Lastly you need to modify the my.config file which contains your login information and SQL connection information.

Be involved

License

FunnelWeb is licensed under the New BSD license.

==============================================================================

Copyright (c) 2009, FunnelWeb Contributors All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  • Neither the name of FunnelWeb nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

funnelweb's People

Contributors

aaronpowell avatar andrexx avatar brendankowitz avatar caleb-vear avatar codiply avatar georged avatar jakeginnivan avatar janierdavila avatar joewritescode avatar jskimming avatar karthik25 avatar mabster avatar peterheard01 avatar solutionmania avatar wallaceturner 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

Watchers

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

funnelweb's Issues

Extension gallery

@aaronpowell created an issue 2011-03-28
There needs to be a simple way for people to provide extensions to FunnelWeb without having to include them in the core of FunnelWeb.
This should work like the Orchard gallery, allowing users to install and uninstall extensions from the web UI.

NuGet should be used as the packaging format

Images from themes are not being loaded

All the images which are referenced by the theme.css results in HTTP 404's

image

Happens for all themes. It's because of the routing that messes things up.

I maybe have time next week to look at this.

Install will not happen until I change the database to 'Master'....

Ive used funnelweb like 3 times and this never seems to have happened before. Basically im installing a fresh dev copy as I want to start adding a bit to this project (do you need help btw?) I'd love to.

Anyway when I try and install to funnelweb and fire up the web server and step through the code it is throwing an exception because the FunnelWeb database doesnt exist yet, however if I change the name to master it installs just fine into the master db. Then if I create a funnelweb databse on my Sql instance it and repoint the configuration to that it also starts just fine...

Am I doing something wrong or is there a bug with the install? It cant connect because it doesnt exist....?

Shouldn't funnel web inspect sql a bit to see if the database exists and create it firrst? I cant find any code pertaining to this...

Thanks,
Pete

JS Minification breaks prettify script

Script bundling by default minimises the scripts which works fine most of the time.

It fails however on prettify bundle with the error

/*
Minification failed. Returning unminified contents.
(74,89-103): run-time warning JS1015: Unterminated string constant: ...
*/

Unfortunately, minification fails only partially and breaks prettifying script. Prettify script is already minified so double-up does not make too much sense (bundling does due to a number of lang-* files).

Not sure if it's related to the Issue #29 but both can be fixed at the same time.

Workaround: set debug="true" on compilation element in web.config - that switches bundling off.

Option to set the blog Culture

Everything seems to be en-US in my blog but dates are displayed in fr-FR. I added in the Web.config to force en-US but it doesn't work.
Something seems to be forcing the culture to a calculated value (but which?).

It would be nice to have an option to set the blog culture or just to support the system.web/globalization.

Favicon.ico generates HTTP 500 when using Azure Blob Storage for uploads

3 issues:

  • it doesn't pick up the favicon.ico in my {Theme}\Content\Images folder
  • it doesn't pick up the favicon.ico in the Content\Images folder
  • a blob container has to be lower case, so _C_ontent will never work

Here's the stacktrace:

System.Web.HttpException
'http:/*.blob.core.windows.net/Content/Images/favicon.ico' is not a valid virtual path.

System.Web.HttpException (0x80004005): 'http:/*.blob.core.windows.net/Content/Images/favicon.ico' is not a valid virtual path.
at System.Web.Util.UrlPath.CheckValidVirtualPath(String path)
at System.Web.Util.UrlPath.Combine(String appPath, String basepath, String relative)
at System.Web.VirtualPath.Combine(VirtualPath relativePath)
at System.Web.HttpRequest.MapPath(VirtualPath virtualPath, VirtualPath baseVirtualDir, Boolean allowCrossAppMapping)
at System.Web.HttpServerUtility.MapPath(String path)
at System.Web.HttpServerUtilityWrapper.MapPath(String path)
at FunnelWeb.Web.Controllers.ResourceController.RenderWhileReplacingTokenWith(String fileToRender, String contentType, String token, String replacement)
at FunnelWeb.Web.Controllers.ResourceController.RenderUploadedFileIfExists(String fileToRender, String contentType)
at FunnelWeb.Web.Controllers.ResourceController.Render(String fileName, String fileName2, String contentType)
at lambda_method(Closure , ControllerBase , Object[] )
at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary´2 parameters)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary´2 parameters)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass42.b__41()
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass8´1.b__7(IAsyncResult _)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult´1.End()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass37.<>c__DisplayClass39.b__33()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass4f.b__49()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass37.b__36(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult´1.End()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass25.<>c__DisplayClass2a.b__20()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass25.b__22(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult´1.End()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult)
at System.Web.Mvc.Controller.<>c__DisplayClass1d.b__18(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.b__3(IAsyncResult ar)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult´1.End()
at System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.b__3(IAsyncResult ar)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult´1.End()
at System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)
at System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult)
at System.Web.Mvc.MvcHandler.<>c__DisplayClass8.b__3(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.b__3(IAsyncResult ar)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult´1.End()
at System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

Set MvcBuildViews to true in project file

Hey guys,

Searching for a new blog-engine based on ASP.NET Mvc framework I found FunnelWeb.
Being a BlogEngine.Net fan I'm impressed with your work so far and I'm definitely switching to FunnelWeb - with my own theme - as my blog-engine.

However, while porting my blog to FunnelWeb I ran into some run-time exceptions. When I added the following to my project-file it didn't build anymore.

<MvcBuildViews>true</MvcBuildViews>

I know how to solve this problem, but shouldn't a project always compile on check-in?

I will get the latest version of FunnelWeb and propose some changes later on.

Greetzz,

Miggro

HtmlFooter is missing

_Mobile.cshtm includes

@MvcHtmlString.Create(Html.Settings().HtmlFooter)

but _Public.cshtml is missing it.

Code formatting doesn't display in rss readers

When I view my blog aloadofcode.com in google reader the code is not formatted. I think markdown can be displayed in rss. Would be grateful for any pointers and if i find a solution i will of course share it.

admin settings error saving: null identifier

Hi I downloaded the source code from github(dated dec 3 2012)

I debug using vs 2012 and iis express and sql ce4; at admin->settings page there are 30 settings in the collection; If I do not touch the checkbox or textbox in the html form with mouse or tab, some Setting.Id will be 0, and throw the null identifier exception.

even after all the 30 settings has Id <> 0 after I touch the input form, I still get the null identifier exception.

firebug shown 3 javascripts error:
SyntaxError: syntax error
<!doctype html>
jquery...iVvaRE= (line 1)

SyntaxError: syntax error
<!doctype html>

settings (line 449)
ReferenceError: MiniProfiler is not defined

miniprofiler already set in web.config

Did I miss something?

error section:
Line 37: foreach (var setting in settings)
Line 38: {
Line 39: session.SaveOrUpdate(setting);
Line 40: }
Line 41: session.Flush();

Source File: ...\FunnelWeb-master\src\FunnelWeb\Model\Repositories\Internal\AdminRepository.cs Line: 39

Cannot use default build.bat

Hey ,

I was trying to run the latest build.bat to get stable build however I get the following errors :

C:\Users\Rafal\Downloads\FunnelWeb-master\FunnelWeb-master\src\FunnelWeb.Web\FunnelWeb.Web.csproj(535,3): error MSB4019: The imported project "C:\Program Files
mport> declaration is correct, and that the file exists on disk.
Successfully installed 'Autofac 2.4.2.696'.
Successfully installed 'Autofac 2.6.3.862'.
Successfully installed 'dbup 2.0.113'.
Successfully installed 'dbup-sqlce 2.0.113'.
Successfully installed 'FluentNHibernate 1.3.0.733'.
Successfully installed 'Iesi.Collections 3.3.2.4000'.
Successfully installed 'Microsoft.AspNet.Mvc 4.0.20710.0'.
Successfully installed 'Microsoft.AspNet.Razor 2.0.20710.0'.
Successfully installed 'Microsoft.AspNet.WebPages 2.0.20710.0'.
Successfully installed 'Microsoft.SqlServer.Compact 4.0.8876.1'.
Successfully installed 'Microsoft.Web.Infrastructure 1.0.0.0'.
Successfully installed 'NHibernate 3.3.2.4000'.
Successfully installed 'NSubstitute 1.4.3.0'.
Successfully installed 'SqlServerCompact 4.0.8854.1'.
C:\Users\Rafal\Downloads\FunnelWeb-master\FunnelWeb-master\src\FunnelWeb.Web\FunnelWeb.Web.csproj(535,3): error MSB4019: The imported project "C:\Program Files
mport> declaration is correct, and that the file exists on disk.
Successfully installed 'Autofac.Mvc3 2.6.3.862'.
Successfully installed 'blogml 2.2.0'.
Successfully installed 'Microsoft.WindowsAzure.ConfigurationManager 1.7.0.3'.
Successfully installed 'MiniProfiler 2.0.2'.
Successfully installed 'NHibernate.Validator 1.3.2.4000'.
Successfully installed 'SharpZipLib 0.86.0'.
Successfully installed 'WindowsAzure.Storage 1.7.0.0'.
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly
eck to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [C:\Users\Rafal\Downloads\FunnelWeb-ma
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly
sembly exists on disk. If this reference is required by your code, you may get compilation errors. [C:\Users\Rafal\Downloads\FunnelWeb-master\FunnelWeb-master\s
Authentication\Internal\SqlFunnelWebMembership.cs(4,18): error CS0234: The type or namespace name 'Mvc' does not exist in the namespace 'System.Web' (are you mi
Authentication\Internal\SqlAuthenticator.cs(3,18): error CS0234: The type or namespace name 'Mvc' does not exist in the namespace 'System.Web' (are you missing
Filters\FunnelWebRequestAttribute.cs(3,18): error CS0234: The type or namespace name 'Mvc' does not exist in the namespace 'System.Web' (are you missing an asse
Filters\FunnelWebRequestAttribute.cs(9,46): error CS0246: The type or namespace name 'ActionFilterAttribute' could not be found (are you missing a using directi
Providers\File\AzureBlobFileRepository.cs(5,18): error CS0234: The type or namespace name 'Mvc' does not exist in the namespace 'System.Web' (are you missing an
Providers\File\FileRepository.cs(6,18): error CS0234: The type or namespace name 'Mvc' does not exist in the namespace 'System.Web' (are you missing an assembly
Providers\File\FileRepositoryBase.cs(3,18): error CS0234: The type or namespace name 'Mvc' does not exist in the namespace 'System.Web' (are you missing an asse
Providers\File\IFileRepository.cs(2,18): error CS0234: The type or namespace name 'Mvc' does not exist in the namespace 'System.Web' (are you missing an assembl
Model\EntryRevision.cs(7,18): error CS0234: The type or namespace name 'Mvc' does not exist in the namespace 'System.Web' (are you missing an assembly reference
RoutableFunnelWebExtension.cs(2,18): error CS0234: The type or namespace name 'Mvc' does not exist in the namespace 'System.Web' (are you missing an assembly re
Filters\FunnelWebRequestAttribute.cs(23,48): error CS0246: The type or namespace name 'ActionExecutingContext' could not be found (are you missing a using direc
Filters\FunnelWebRequestAttribute.cs(29,47): error CS0246: The type or namespace name 'ResultExecutedContext' could not be found (are you missing a using direct
Providers\File\AzureBlobFileRepository.cs(218,25): error CS0246: The type or namespace name 'ActionResult' could not be found (are you missing a using directive
Providers\File\FileRepository.cs(145,25): error CS0246: The type or namespace name 'ActionResult' could not be found (are you missing a using directive or an as
Providers\File\FileRepositoryBase.cs(34,25): error CS0246: The type or namespace name 'ActionResult' could not be found (are you missing a using directive or an
Providers\File\IFileRepository.cs(17,9): error CS0246: The type or namespace name 'ActionResult' could not be found (are you missing a using directive or an ass
Model\EntryRevision.cs(49,10): error CS0246: The type or namespace name 'AllowHtml' could not be found (are you missing a using directive or an assembly referen
Model\EntryRevision.cs(49,10): error CS0246: The type or namespace name 'AllowHtmlAttribute' could not be found (are you missing a using directive or an assembl

Can anyone point to some direction how to get this build ?

Consider returning HTTP 500 for feed URLs

From @mabster

When a database error occurs, we redirect to the admin login page with a databaseIssue=true URL parameter (line 27 in /src/FunnelWeb.Web/Application/RequireUpdatedDatabaseHttpModule.cs).
This is not useful when requesting a feed URL.

I suggest we add a special case to the method which tests if the request if calling a feed URL ("/feed" and "/commentFeed") and simply return an HTTP 500 or 503 to readers.

Bundling breaks relative references in stylesheets

Some of the stylesheets include relative references to the static files, e.g. in \Content\themes\base\Base.css

a.new-window
{
    background: transparent url('../../Images/external.png') no-repeat scroll right center;
    padding: 0 13px 0 0;
}

Before bundling, Base.css was included as "/Content/themes/base/Base.css" and image path was therefore "/Content/Images/external.png". Bundling shortens URL

bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/themes/base/Base.css"));

That makes image path to be "~/Content/../../Images/external.png" which is obviously wrong. The easiest solution is probably to artificially extend the bundled path to match previous folder structure, e.g.

bundles.Add(new StyleBundle("~/Content/themes/base/css").Include("~/Content/themes/base/Base.css"));

Source includes fairly old prettify.js

Looks like source includes a very old distirbution of prettify.js from 2011 (still the only downloadable file on prettify site).

Since then there were numerous fixes applied including incorrect handling of new lines in IE10 (which makes code rendering useless in IE10).

Custom 404 text

Currently the 404 page displays search results for the URL you entered, but also suggests you visit the "/contact" page if you need more help. Some users have an "/about" page rather than a "/contact" page, so it'd be handy to be able to customize the text above the search results.

cannot tag post, tags gone after textbox is lost its focus

Hi I downloaded the latest source(dated dec 3 2012), run with standard IIS, firefox and chrome.

When I tried to tags a post, after I typed tag texts, when I pressed tab, or click mouse else where so the textbox loss focus, the tag texts was gone.

so far no javascript error besides taggy.js log on the developer tool console

Tag Names can cause broken links

From @tim Hamilton

A good example of this is using C# as a tag. When the tag hyperlink is defined it drops the "#" causing the link to look like: "/tagged/c"
This returns no Entries when there is entries with the tag on it.

Suggest that when a tag is stored it contains a slug field. A unique HTTP link compatible value. It would be this value that would be placed in the tags link.

Example: Display Name: C# Slug: csharp

User Clicks on tag C# link that is passed is "/tagged/csharp"

This would allow user to specify special characters in their tags ie: F#, C#, C++

Keep up the great work MIT560

Theme engine

Aaron Powell created an issue 2011-03-28
Implement a simple way to have themes shared and installed by people.
This should be based on NuGet, allowing the use of a standard packaging format (ie - something accessible to .NET developers).

UI should allow installing & uninstalling from locally uploaded packages or an online theme gallery.

Upgrading causes theme views to be ignored until reset

What steps will reproduce the problem? 1. Upgrade FW files and db(I went from dbv20 -> dbv22/latest at time of issue) 2. Notice theme is out of whack - custom views are being ignored, just CSS is being merged in. My custom views don't use base.css at all, so it was easy to see.
The "fix" is to just go into admin, select a different theme, save, then select your theme again and save.

To integrate with existed system

try 1: recommended - add prefix to table name in database
try 2: drop the User table in FunnelWeb and use the related tables in existed system?

Installation documentation is incorrect

Either the documentation for installation is incorrect, or the release code is missing stuff.
#3 - web.config.sample doesn't exist #4.1 - no appSettings section exists #4.2 - no default username/password in the authentication section

Some of the Admin views generate errors

Some of the Admin cshtml templates generate runtime errors due to missing namespace references, e.g. PageList.cshtml:

Compilation Error

Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: CS0246: The type or namespace name 'PageListModel' could not be found (are you missing a using directive or an assembly reference?)

Source Error:

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.