在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
前言: 步骤1:创建初始的Blog应用 本次示例使用Phil Haack's Really Empty MVC Project Template,添加文件夹:App_Data/BlogPosts,Content/BlogPostImages;添加Controller: HomeController;以及相关联的View Views/Home/Index.cshtml;和其他Shared Views,初始的CSS样式。完整的Solution结构和完成后的应用运行截图如下: placeholder:截图1 步骤2:安装Markdown Markdown是一个text-to-HTML转化工具,针对人群为网络写手,博主等。Markdown允许你用容易读/写的纯文本格式写文章,然后转变成结构正确的XHTML(或者HTML)。Markdown格式的文本设计目的是允许内容以as-is发布,像纯文本,不需要用tag标记等。Markdown是免费软件,遵循BSD-style开源协议license。 既然我们使用MVC 3(语言为C#),可以利用MarkdownSharp,也是一个开源的Markdown处理器的C#实现,在Stack Overflow上被featured。使用Nuget Package Manager console安装(添加一个单独文件MarkdownSharp.dll到Bin目录): PM> Install-Package MarkdownSharp 步骤3:Blog Post和Summary Data命名约定 Blog post是.txt文件,存储在文件夹AppData/BlogPosts。本次示例,我们对文件blog post和文件blog summary使用如下的命名约定,使用字符分割日期和名称信息: YYYY-MM-DD[blog-post-name-separated-by-hyphens].txt // blog post markdown syntax content 步骤4:创建File System Data Model 首先,创建model Models/BlogListing.cs,用来表征创建博客需要的数据。 namespace TxtBasedBlog.Sample.Models
{
public class BlogListing
{
public string Url { get; set; }
public string Title { get; set; }
public string ShortDescription { get; set; }
public string Content { get; set; }
public string Author { get; set; }
public DateTime PostDate { get; set; }
public string Image { get; set; }
}
}
然后,创建model Models/BlogPost.cs负责加载博客文章内容。 namespace TxtBasedBlog.Sample.Models
{
public class BlogPost : BlogListing
{
public string Body { get; set; }
}
}
步骤5:写一个Blog Post示例 遵循上述命名约定,我们创建两个示例文件。Summary文件使用JSON语法,完整的blog post使用Markdown语法。 {
Title: "ASP.NET MVC Overview",
Url: "asp_net_mvc_overview",
PostDate: "2012-02-09",
Author: "Microsoft ASP.NET Team",
ShortDescription: "ASP.NET MVC gives you a powerful, patterns-based way to build dynamic websites that enables a clean separation of concerns and that gives you full control over markup for enjoyable, agile development.",
Image: "content/blogpostimages/image001.jpg"
}
**ASP.NET MVC** gives you a powerful, patterns-based way to build dynamic websites that enables a clean separation of concerns and that gives you full control over markup for enjoyable, agile development.
MVC includes many features that enable:
* fast, TDD-friendly development for creating sophisticated applications
* use the latest web standards.
[Learn More About MVC](http://www.asp.net/mvc "Learn more about MVC today!")
步骤6:显示博客列表 在web.config中的appSetting键值中添加BlogPostsDirectory配置,这样可以无需编译修改数据目录。
<appSettings>
...
<add key="BlogPostsDirectory" value="~/App_Data/BlogPosts"/>
...
</appSettings>
Models/BlogFileSystemManager.cs用来检查上面配置的数据目录,然后返回博客列表。
namespace TxtBasedBlog.Sample.Models
{
public class BlogFileSystemManager
{
private string filePathToBlogPosts;
public BlogFileSystemManager(string dirPath)
{
filePathToBlogPosts = dirPath;
}
public List<BlogListing> GetBlogListings(int limit)
{
var allFileNames = getBlogPostsFiles();
var blogListings = new List<BlogListing>();
foreach (var fileName in allFileNames.OrderByDescending(i => i).Take(limit))
{
var fileData = File.ReadAllText(fileName);
var blogListing =
|
请发表评论