private HTMLConfig BuildConfig()
        {
            HTMLConfig config = new HTMLConfig();

            if (!isSingleSpaced)
            {
                config.divClasses.Add(LineSpacingClasses[2.0]);
            }
            if (!hasOneColumn)
            {
                config.divClasses.Add(ColumnClasses[1]);
            }
            if (!isL2RDirection)
            {
                config.divClasses.Add(TextDirectionClasses[1]);
            }
            if (isTextJustified)
            {
                config.divClasses.Add(TextAlignmentClasses[3]);
            }
            config.divClasses.Add(fontClass);

            // Will be added to HTML config class
            config.separateVerses = willSeparateVerse;

            config.separateChapters = willSeparateChap;

            config.blankColumn = hasBlankColumn;

            return(config);
        }
        public void SetUpTestCase()
        {
            configHTML = new HTMLConfig(new List <string>(), partialHTML: true);

            parser = new USFMParser();
            render = new HtmlRenderer(configHTML);
        }
Пример #3
0
        public HtmlRenderer()
        {
            UnrenderableTags   = new List <string>();
            FootnoteTextTags   = new List <string>();
            CrossReferenceTags = new List <string>();

            ConfigurationHTML = new HTMLConfig();
        }
Пример #4
0
        private void RenderHtml(string fileName)
        {
            // Does not parse through section headers yet
            var parser = new USFMParser(new List <string> {
                "s5"
            });

            HTMLConfig configHTML = BuildHTMLConfig();
            //Configure Settings -- Spacing ? 1, Column# ? 1, TextDirection ? L2R
            var renderer = new HtmlRenderer(configHTML);

            // Added ULB License and Page Number
            renderer.FrontMatterHTML = GetLicenseInfo();
            renderer.InsertedFooter  = GetFooterInfo();

            var usfm = new USFMDocument();

            var progress     = fileDataGrid.RowCount - 1;
            var progressStep = 0;

            foreach (DataGridViewRow row in fileDataGrid.Rows)
            {
                var cell = row.Cells[0];
                if (cell.Value == null)
                {
                    continue;
                }
                var filename = cell.Value.ToString();

                var text = File.ReadAllText(filename);
                usfm.Insert(parser.ParseFromString(text));



                progressStep++;
                LoadingBar.Value = (int)(progressStep / (float)progress * 100);
            }

            var html = renderer.Render(usfm);

            File.WriteAllText(fileName, html);

            var dirname = Path.GetDirectoryName(fileName);

            filePathConversion = dirname;
            var cssFilename = Path.Combine(dirname, "style.css");

            if (!File.Exists(cssFilename))
            {
                File.Copy("style.css", cssFilename);
            }
        }
        public void Run()
        {
            // Does not parse through section headers yet
            var parser = new USFMParser(new List <string> {
                "s5"
            });

            configHTML = BuildConfig();
            //Configure Settings -- Spacing ? 1, Column# ? 1, TextDirection ? L2R
            var renderer = new HtmlRenderer(configHTML);

            // Added ULB License and Page Number
            renderer.FrontMatterHTML = GetLicenseInfo();
            renderer.InsertedFooter  = GetFooterInfo();

            var usfm = new USFMDocument();

            if (folderName.Equals(string.Empty))
            {
                return;
            }

            var dirinfo = new DirectoryInfo(folderName);

            if (!dirinfo.Exists)
            {
                Console.WriteLine("The input path doesn't exist. Make sure you spelled it correctly");
                return;
            }

            if (!Directory.Exists(projectOutput))
            {
                Console.WriteLine("The output path doesn't exist. Make sure you spelled it correctly");
                return;
            }

            var allFiles = dirinfo.GetFiles("*.usfm", SearchOption.AllDirectories)
                           .Union(dirinfo.GetFiles("*.txt", SearchOption.AllDirectories)).ToArray();

            Array.Sort(allFiles, delegate(FileInfo a, FileInfo b)
            {
                return(a.FullName.CompareTo(b.FullName));
            });
            var progress     = allFiles.Length;
            var progressStep = 0;

            foreach (FileInfo fileInfo in allFiles)
            {
                var text = File.ReadAllText(fileInfo.FullName);
                usfm.Insert(parser.ParseFromString(text));
                progressStep++;
                Console.Write("\r[{0}%] ", (int)(progressStep / (float)progress * 100));
            }

            var html         = renderer.Render(usfm);
            var htmlFilename = Path.Combine(projectOutput, "out.html");

            File.WriteAllText(htmlFilename, html);

            var dirname     = Path.GetDirectoryName(htmlFilename);
            var cssFilename = Path.Combine(dirname, "style.css");

            if (!File.Exists(cssFilename))
            {
                File.Copy("style.css", cssFilename);
            }

            Console.WriteLine("Your project was successfully converted!");
        }
Пример #6
0
 public HtmlRenderer(HTMLConfig config) : this()
 {
     ConfigurationHTML = config;
 }