Esempio n. 1
0
        protected override void ProcessPage(Page p, EditStatus edit)
        {
            if (p.GetNamespace() != 0) return;
            p.Load();

            var changes = new List<string>();

            p.InsertPlaceholders(GeneralExtensions.Placeholder.Default);

            foreach (var replacement in Replacements.Where(replacement => p.text.Contains(replacement.Key)))
            {
                p.text = p.text.Replace(replacement.Key, replacement.Value);
                changes.Add(replacement.Key + " → " + replacement.Value);
            }
            foreach (var replacement in RegexReplacements)
            {
                var pattern = replacement.Key;
                var replace = replacement.Value;

                pattern.Replace(p.text, match =>
                    {
                        var replaceWith = RegexParseReplaceWithString(match, replace);
                        changes.Add(match.Value + " → " + replaceWith);
                        return replaceWith;
                    });
            }

            p.RemovePlaceholders();

            if (changes.Count > 0)
            {
                edit.Save = true;
                edit.EditComment = "Ersetzt: " + string.Join(", ", changes);
            }
        }