), path( "<year:year>/<month:month>/<day:day>/", blog_views.archive_day, name="blog_archive_day", ), path( "<year:year>/<month:month>/<day:day>/<slug:slug>/", blog_views.archive_item, name="blog_archive_item", ), path("search/", blog_views.search, name="search"), path("tags/", blog_views.tag_index, name="tag_index"), path("tags/<tags>/", blog_views.archive_tag, name="tag_detail"), path("atom/entries/", count_subscribers(feeds.Entries().__call__), name="blog_feed"), path("atom/links/", count_subscribers(feeds.Blogmarks().__call__)), path("atom/everything/", count_subscribers(feeds.Everything().__call__)), path("sitemap.xml", feeds.sitemap), path("tools/", blog_views.tools), path("tools/extract-title/", blog_views.tools_extract_title), path("tools/search-tags/", blog_views.tools_search_tags), path("write/", blog_views.write), path("admin/", admin.site.urls), path("speaking/", include("speaking_portfolio.urls")), path("writing/", blog_views.entry_archive, name="entry_archive"), path("writing/<slug:slug>/", blog_views.redirect_old_blog_urls), path("feed.xml", blog_views.redirect_old_feed), path("feed/", blog_views.redirect_old_feed), path("rss/summary/", blog_views.redirect_old_feed),
blog_views.archive_item), # Ancient URL pattern still getting hits re_path(r"^/?archive/(\d{4})/(\d{2})/(\d{2})/$", blog_views.archive_day_redirect), re_path( r"^/?archive/(\d{4})/(\d{2})/(\d{2})/([\-\w]+)/?$", blog_views.archive_item_redirect, ), re_path(r"^versions/$", versions), re_path(r"^robots\.txt$", robots_txt), re_path(r"^favicon\.ico$", favicon_ico), re_path(r"^search/$", blog_views.search), re_path(r"^tags/$", blog_views.tag_index), re_path(r"^tags/(.*?)/$", blog_views.archive_tag), re_path(r"^tag/([a-zA-Z0-9_-]+)/$", tag_redirect), re_path(r"^atom/entries/$", count_subscribers(feeds.Entries().__call__)), re_path(r"^atom/links/$", count_subscribers(feeds.Blogmarks().__call__)), re_path(r"^atom/everything/$", count_subscribers(feeds.Everything().__call__)), re_path(r"^sitemap\.xml$", feeds.sitemap), path("tools/", blog_views.tools), path("tools/extract-title/", blog_views.tools_extract_title), re_path(r"^tools/search-tags/$", blog_views.tools_search_tags), re_path(r"^write/$", blog_views.write), # (r'^about/$', blog_views.about), re_path(r"^admin/", admin.site.urls), re_path(r"^static/", static_redirect), ] if settings.DEBUG: import debug_toolbar
url(r'^(\d{4})/(\w{3})/$', blog_views.archive_month), url(r'^(\d{4})/(\w{3})/(\d{1,2})/$', blog_views.archive_day), url(r'^(\d{4})/(\w{3})/(\d{1,2})/([\-\w]+)/$', blog_views.archive_item), # Ancient URL pattern still getting hits url(r'^/?archive/(\d{4})/(\d{2})/(\d{2})/$', blog_views.archive_day_redirect), url(r'^/?archive/(\d{4})/(\d{2})/(\d{2})/([\-\w]+)/?$', blog_views.archive_item_redirect), url(r'^robots\.txt$', robots_txt), url(r'^favicon\.ico$', favicon_ico), url(r'^search/$', blog_views.search), url(r'^tags/$', blog_views.tag_index), url(r'^tags/(.*?)/$', blog_views.archive_tag), url(r'^atom/entries/$', count_subscribers(feeds.Entries().__call__)), url(r'^atom/links/$', count_subscribers(feeds.Blogmarks().__call__)), url(r'^atom/everything/$', count_subscribers(feeds.Everything().__call__)), url(r'^sitemap\.xml$', feeds.sitemap), url(r'^tools/$', blog_views.tools), url(r'^tools/search-tags/$', blog_views.tools_search_tags), url(r'^write/$', blog_views.write), # (r'^about/$', blog_views.about), url(r'^admin/', include(admin.site.urls)), url(r'^static/', static_redirect), ]