heartwood every commit a ring

Add external link handler

56f89829 by Isaac Bythewood · 3 years ago

modified admin/wagtail_hooks.py
@@ -1,13 +1,13 @@from django.templatetags.static import staticfrom django.utils.html import format_htmlfrom wagtail.core import hooksfrom wagtail.contrib.modeladmin.options import ModelAdmin, modeladmin_registerfrom django.utils.html import escape, format_htmlfrom wagtail.contrib.modeladmin.mixins import ThumbnailMixinfrom wagtail.contrib.modeladmin.options import ModelAdmin, modeladmin_registerfrom wagtail.core import hooksfrom wagtail.rich_text import LinkHandlerfrom pages.models import BlogPostPagefrom scheduler.models import ScheduledTask# @hooks.register("insert_global_admin_js", order=100)# def global_admin_js():#     return format_html('<script src="{}"></script>', static("admin.global.js"))
@@ -28,6 +28,20 @@ def editor_css():    return format_html('<link rel="stylesheet" href="{}">', static("admin.editor.css"))class ExternalLinkHandler(LinkHandler):    identifier = 'external'    @classmethod    def expand_db_attributes(cls, attrs):        href = attrs["href"]        return '<a href="%s" target="_blank" rel="noopener noreferrer">' % escape(href)@hooks.register('register_rich_text_features')def register_external_link_handler(features):    features.register_link_type(ExternalLinkHandler)class BlogPostPageAdmin(ThumbnailMixin, ModelAdmin):    model = BlogPostPage    menu_label = 'Posts'