GetEntryPath() public static méthode

public static GetEntryPath ( string blog_base, DayEntry, d ) : string
blog_base string
d DayEntry,
Résultat string
Exemple #1
0
    void FillEntrySubstitutions(Hashtable substitutions, DayEntry d, string blog_base, bool single_entry)
    {
        string category_paths = GetCategoryPaths(d, blog_base);
        string entry_path     = LB.GetEntryPath(blog_base, d);

        substitutions.Add("@ENTRY_ID@", d.Id);
        substitutions.Add("@ENTRY_PATH@", entry_path);
        substitutions.Add("@ENTRY_PERMALINK@", d.PermaLink);
        substitutions.Add("@ENTRY_CAPTION@", d.Caption);
        substitutions.Add("@ENTRY_CAPTION_ENC@", HttpUtility.UrlEncode(d.Caption));
        substitutions.Add("@BASEDIR@", config.BlogWebDirectory);
        substitutions.Add("@BASEIMAGES@", config.BlogImageBasedir);
        substitutions.Add("@COPYRIGHT@", config.Copyright);
        substitutions.Add("@ENTRY_CATEGORY@", d.Category);
        substitutions.Add("@ENTRY_DATECAPTION@", d.DateCaption);
        substitutions.Add("@ENTRY_CATEGORY_PATHS@", category_paths);
        substitutions.Add("@BLOGWEBDIR@", config.BlogWebDirectory);
        substitutions.Add("@ENTRY_URL_PERMALINK@", Path.Combine(config.BlogWebDirectory, d.PermaLink));

        if (d.Comments && single_entry)
        {
            StringWriter rendered_comment = new StringWriter(new StringBuilder(comments.Length));
            Translate(comments, rendered_comment, substitutions);
            substitutions.Add("@COMMENTS@", rendered_comment.ToString());
            d.RenderedComment = rendered_comment.ToString();
        }
        else
        {
            substitutions.Add("@COMMENTS@", "");
        }
    }
Exemple #2
0
    public void RenderArchive()
    {
        for (int i = 0; i < Entries; i++)
        {
            DayEntry d = (DayEntry)entries [i];

            string parent_dir = "../..";
            if (d.Category.Length > 0)
            {
                parent_dir += Regex.Replace(d.Category, "[^/]+", "..");
            }
            RenderHtml(Path.Combine(config.Prefix, d.PermaLink),
                       entries.Count - i - 1, entries.Count - i, parent_dir, false);
            if (d.Images == null)
            {
                continue;
            }
            foreach (string filename in d.Images)
            {
                string file             = Path.GetFileName(filename);
                string thumbnail        = Path.Combine(LB.GetEntryPath(config.Prefix + "/", d), LB.GetThumbnailName(file));
                string thumbnail_target = Path.Combine(
                    LB.GetEntryPath(config.Prefix + "/", d), file);

                file = Path.Combine(config.ImageDirectory, filename);
                if (!File.Exists(file))
                {
                    Console.Error.WriteLine("lb: Missing file for #thumbnail {0}, ({1}).",
                                            filename, file);
                    continue;
                }
                if (!File.Exists(thumbnail_target))
                {
                    File.Copy(file, thumbnail_target);
                }
                if (!File.Exists(thumbnail))
                {
                    ProcessStartInfo psi = new ProcessStartInfo(config.ThumbnailCommandFileName);
                    psi.Arguments = string.Format(config.ThumbnailCommandArguments, file, thumbnail);
                    Process p = Process.Start(psi);
                    p.WaitForExit();
                    if (p.ExitCode != 0)
                    {
                        Console.Error.WriteLine("lb: error running command: {0} {1}",
                                                psi.FileName, psi.Arguments);
                    }
                }
            }
        }

        foreach (DictionaryEntry de in category_entries)
        {
            string category   = de.Key.ToString();
            IList  entries    = (IList)de.Value;
            string parent_dir = ".." + Regex.Replace(category, "[^/]+", "..");
            RenderHtml(Path.Combine(config.Prefix, "archive" + category + config.BlogFileName),
                       parent_dir, entries, 0, entries.Count, false);
        }
    }