From 379289639e44f8fbb1368c4f2a324f52bcb70e7f Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Sat, 16 Mar 2019 11:12:44 +0800 Subject: split setting.go to multiple files (#6154) * split setting.go to multiple files * fix lint --- modules/setting/markup.go | 66 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 modules/setting/markup.go (limited to 'modules/setting/markup.go') diff --git a/modules/setting/markup.go b/modules/setting/markup.go new file mode 100644 index 0000000000..41f3cdd3a1 --- /dev/null +++ b/modules/setting/markup.go @@ -0,0 +1,66 @@ +// Copyright 2019 The Gitea Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package setting + +import ( + "regexp" + "strings" + + "code.gitea.io/gitea/modules/log" +) + +// ExternalMarkupParsers represents the external markup parsers +var ( + ExternalMarkupParsers []MarkupParser +) + +// MarkupParser defines the external parser configured in ini +type MarkupParser struct { + Enabled bool + MarkupName string + Command string + FileExtensions []string + IsInputFile bool +} + +func newMarkup() { + extensionReg := regexp.MustCompile(`\.\w`) + for _, sec := range Cfg.Section("markup").ChildSections() { + name := strings.TrimPrefix(sec.Name(), "markup.") + if name == "" { + log.Warn("name is empty, markup " + sec.Name() + "ignored") + continue + } + + extensions := sec.Key("FILE_EXTENSIONS").Strings(",") + var exts = make([]string, 0, len(extensions)) + for _, extension := range extensions { + if !extensionReg.MatchString(extension) { + log.Warn(sec.Name() + " file extension " + extension + " is invalid. Extension ignored") + } else { + exts = append(exts, extension) + } + } + + if len(exts) == 0 { + log.Warn(sec.Name() + " file extension is empty, markup " + name + " ignored") + continue + } + + command := sec.Key("RENDER_COMMAND").MustString("") + if command == "" { + log.Warn(" RENDER_COMMAND is empty, markup " + name + " ignored") + continue + } + + ExternalMarkupParsers = append(ExternalMarkupParsers, MarkupParser{ + Enabled: sec.Key("ENABLED").MustBool(false), + MarkupName: name, + FileExtensions: exts, + Command: command, + IsInputFile: sec.Key("IS_INPUT_FILE").MustBool(false), + }) + } +} -- cgit v1.2.3