zoukankan      html  css  js  c++  java
  • 【kooboo】代码块

    image

    namespace Kooboo.CMS.Sites.Services
    {
        public class CodeSnippetManager
        {
            protected string BasePath
            {
                get
                {
                    return Kooboo.Web.Mvc.AreaHelpers.CombineAreaFilePhysicalPath("Sites", "CodeSnippets");
                }
            }
            protected virtual string FileExtension
            {
                get
                {
                    return ".txt";
                }
            }
     
            public virtual CodeSnippetGroup All(string viewEngine)
            {
                var physicalPath = Path.Combine(BasePath, viewEngine);
                CodeSnippetGroup root = new CodeSnippetGroup() { Name = "root", Parent = null, ViewEngine = viewEngine };
                if (Directory.Exists(physicalPath))
                {
                    root.ChildGroups = AllGroups(viewEngine, root, physicalPath);
                    root.CodeSnippets = AllCodeSnippet(root, physicalPath);
                }
                return root;
            }
            private IEnumerable<CodeSnippetGroup> AllGroups(string viewEngine, CodeSnippetGroup parent, string physicalPath)
            {
                var dir = Directory.GetDirectories(physicalPath);
                if (dir.Length != 0)
                {
                    foreach (var item in dir.ExcludeSvn())
                    {
                        var group = new CodeSnippetGroup()
                        {
                            ViewEngine = viewEngine,
                            Name = Path.GetFileNameWithoutExtension(item),
                            Parent = parent
                        };
                        group.ChildGroups = AllGroups(viewEngine, parent, item);
                        group.CodeSnippets = AllCodeSnippet(group, item);
                        yield return group;
                    }
                }
            }
     
            private IEnumerable<CodeSnippet> AllCodeSnippet(CodeSnippetGroup group, string physicalPath)
            {
                return Directory.EnumerateFiles(physicalPath, "*" + FileExtension).Select(it =>
                    new CodeSnippet()
                    {
                        Group = group,
                        ViewEngine = group.ViewEngine,
                        Name = Path.GetFileNameWithoutExtension(it),
                        Code = IO.IOUtility.ReadAsString(it)
                    });
            }       
        }
    }
  • 相关阅读:
    zip
    yield
    日记
    cat
    genfromtext
    pytorch易忘
    小程序入门(一)
    (二)连接数据库使用Model对象对数据库进行操作(CRUD)
    (一)Moogose(node.js对数据库进行操作)
    CURD练习
  • 原文地址:https://www.cnblogs.com/zbw911/p/2867579.html
Copyright © 2011-2022 走看看