def on_modified(self, view): generate_slug_from_title = PelicanPluginTools.load_setting(view, "generate_slug_from_title", True) if generate_slug_from_title != "title_change": return if not PelicanPluginTools.isPelicanArticle(view): return if self.isInTitleLine(view): view.run_command('pelican_generate_slug')
def on_pre_save(self, view): generate_slug_from_title = PelicanPluginTools.load_setting(view, "generate_slug_from_title", True) if generate_slug_from_title != "save": return if not PelicanPluginTools.isPelicanArticle(view): return slug_region = view.find(':?slug:\s*.+', 0, sublime.IGNORECASE) if slug_region: slug_line = view.substr(view.line(slug_region.begin())) regex = re.compile(":?slug:(.*)", re.IGNORECASE) find_all = regex.findall(slug_line) if len(find_all) > 0: slug_str = find_all[0].strip() if len(slug_str) > 0: force_slug_regeneration = PelicanPluginTools.load_setting(view, "force_slug_regeneration", False) if not force_slug_regeneration: return view.run_command('pelican_generate_slug')