コード例 #1
0
        private void GenerateFiles(string demoDirectory, string output)
        {
            DirectoryInfo demoDirectoryInfo = new DirectoryInfo(demoDirectory);

            if (demoDirectoryInfo.Attributes != FileAttributes.Directory)
            {
                Console.WriteLine("{0} is not a directory", demoDirectory);
                return;
            }

            IList <Dictionary <string, DemoComponent> > componentList = null;

            foreach (FileSystemInfo component in demoDirectoryInfo.GetFileSystemInfos())
            {
                if (!(component is DirectoryInfo componentDirectory))
                {
                    continue;
                }

                FileSystemInfo docDir  = componentDirectory.GetFileSystemInfos("doc")[0];
                FileSystemInfo demoDir = componentDirectory.GetFileSystemInfos("demo")[0];

                Dictionary <string, DemoComponent> componentDic = new Dictionary <string, DemoComponent>();

                foreach (FileSystemInfo docItem in (docDir as DirectoryInfo).GetFileSystemInfos())
                {
                    string language = docItem.Name.Replace("index.", "").Replace(docItem.Extension, "");
                    string content  = File.ReadAllText(docItem.FullName);
                    (Dictionary <string, string> Meta, string Content)docData = DocParser.ParseDemoDoc(content);

                    componentDic.Add(language, new DemoComponent()
                    {
                        Title    = docData.Meta["title"],
                        SubTitle = docData.Meta.TryGetValue("subtitle", out string subtitle) ? subtitle : null,
                        Type     = docData.Meta["type"],
                        Doc      = docData.Content
                    });
コード例 #2
0
        private void GenerateFiles(string demoDirectory, string docsDirectory, string output)
        {
            DirectoryInfo demoDirectoryInfo = new DirectoryInfo(demoDirectory);

            if (demoDirectoryInfo.Attributes != FileAttributes.Directory)
            {
                Console.WriteLine("{0} is not a directory", demoDirectory);
                return;
            }

            DirectoryInfo docsDirectoryInfo = new DirectoryInfo(docsDirectory);

            if (docsDirectoryInfo.Attributes != FileAttributes.Directory)
            {
                Console.WriteLine("{0} is not a directory", docsDirectory);
                return;
            }

            IList <Dictionary <string, DemoComponent> > componentList = null;

            IList <Dictionary <string, MenuItem> > menuList = null;

            Dictionary <string, int> sortMap = new Dictionary <string, int>()
            {
                ["General"]      = 0,
                ["通用"]           = 0,
                ["Layout"]       = 1,
                ["布局"]           = 1,
                ["Navigation"]   = 2,
                ["导航"]           = 2,
                ["Data Entry"]   = 3,
                ["数据录入"]         = 3,
                ["Data Display"] = 4,
                ["数据展示"]         = 4,
                ["Feedback"]     = 5,
                ["反馈"]           = 5,
                ["Localization"] = 6,
                ["Other"]        = 7,
                ["其他"]           = 7
            };

            foreach (FileSystemInfo component in demoDirectoryInfo.GetFileSystemInfos())
            {
                if (!(component is DirectoryInfo componentDirectory))
                {
                    continue;
                }

                Dictionary <string, DemoComponent> componentDic = new Dictionary <string, DemoComponent>();

                FileSystemInfo docDir = componentDirectory.GetFileSystemInfos("doc")[0];

                foreach (FileSystemInfo docItem in (docDir as DirectoryInfo).GetFileSystemInfos())
                {
                    string language = docItem.Name.Replace("index.", "").Replace(docItem.Extension, "");
                    string content  = File.ReadAllText(docItem.FullName);
                    (Dictionary <string, string> Meta, string Content)docData = DocParser.ParseDemoDoc(content);

                    componentDic.Add(language, new DemoComponent()
                    {
                        Title    = docData.Meta["title"],
                        SubTitle = docData.Meta.TryGetValue("subtitle", out string subtitle) ? subtitle : null,
                        Type     = docData.Meta["type"],
                        Doc      = docData.Content,
                    });
コード例 #3
0
        private void GenerateFiles(string demoDirectory, string output)
        {
            DirectoryInfo demoDirectoryInfo = new DirectoryInfo(demoDirectory);

            if (!demoDirectoryInfo.Attributes.HasFlag(FileAttributes.Directory))
            {
                Console.WriteLine("{0} is not a directory", demoDirectory);
                return;
            }

            IList <Dictionary <string, DemoComponent> > componentList = null;
            IList <string> demoTypes = null;

            var directories = demoDirectoryInfo.GetFileSystemInfos()
                              .SelectMany(x => (x as DirectoryInfo).GetFileSystemInfos());

            foreach (FileSystemInfo component in directories)
            {
                if (!(component is DirectoryInfo componentDirectory))
                {
                    continue;
                }

                FileSystemInfo docDir  = componentDirectory.GetFileSystemInfos("doc")?.FirstOrDefault();
                FileSystemInfo demoDir = componentDirectory.GetFileSystemInfos("demo")?.FirstOrDefault();

                Dictionary <string, DemoComponent> componentDic = new Dictionary <string, DemoComponent>();

                if (docDir != null && docDir.Exists)
                {
                    foreach (FileSystemInfo docItem in (docDir as DirectoryInfo).GetFileSystemInfos())
                    {
                        string language = docItem.Name.Replace("index.", "").Replace(docItem.Extension, "");
                        string content  = File.ReadAllText(docItem.FullName);
                        (Dictionary <string, string> Meta, string desc, string apiDoc)docData = DocParser.ParseDemoDoc(content);

                        componentDic.Add(language, new DemoComponent()
                        {
                            Title    = docData.Meta["title"],
                            SubTitle = docData.Meta.TryGetValue("subtitle", out string subtitle) ? subtitle : null,
                            Type     = docData.Meta["type"],
                            Desc     = docData.desc,
                            ApiDoc   = docData.apiDoc.Replace("<h2>API</h2>", $"<h2 id=\"API\"><span>API</span><a href=\"{language}/components/{docData.Meta["title"].ToLower()}#API\" class=\"anchor\">#</a></h2>"),
                            Cols     = docData.Meta.TryGetValue("cols", out var cols) ? int.Parse(cols) : (int?)null,
                            Cover    = docData.Meta.TryGetValue("cover", out var cover) ? cover : null,
                        });