From 72ac1bc1da3aa5c0747f3af329c36f4cb2faff97 Mon Sep 17 00:00:00 2001 From: Jake Howard Date: Thu, 14 Jul 2022 21:41:43 +0100 Subject: [PATCH] Add reusable referral links --- requirements.txt | 1 + ...oglistpage_body_alter_blogpostpage_body.py | 1491 ++++++++++++++++ ...rallink_alter_contentpage_body_and_more.py | 1507 +++++++++++++++++ website/common/models.py | 15 + website/common/streamfield.py | 2 + .../common/referrallink_snippet_link.html | 1 + website/settings.py | 1 + 7 files changed, 3018 insertions(+) create mode 100644 website/blog/migrations/0011_alter_bloglistpage_body_alter_blogpostpage_body.py create mode 100644 website/common/migrations/0012_referrallink_alter_contentpage_body_and_more.py create mode 100644 website/common/templates/common/referrallink_snippet_link.html diff --git a/requirements.txt b/requirements.txt index 637b353..3696a1f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,3 +10,4 @@ requests==2.27.1 wagtail-generic-chooser==0.4.1 django-rq==2.5.1 django-redis==5.2.0 +wagtail-draftail-snippet==0.4.1 diff --git a/website/blog/migrations/0011_alter_bloglistpage_body_alter_blogpostpage_body.py b/website/blog/migrations/0011_alter_bloglistpage_body_alter_blogpostpage_body.py new file mode 100644 index 0000000..6f3b5c8 --- /dev/null +++ b/website/blog/migrations/0011_alter_bloglistpage_body_alter_blogpostpage_body.py @@ -0,0 +1,1491 @@ +# Generated by Django 4.0.5 on 2022-07-14 20:39 + +import wagtail.blocks +import wagtail.embeds.blocks +import wagtail.fields +import wagtail.images.blocks +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ("blog", "0010_bloglistpage_hero_unsplash_photo_and_more"), + ] + + operations = [ + migrations.AlterField( + model_name="bloglistpage", + name="body", + field=wagtail.fields.StreamField( + [ + ("embed", wagtail.embeds.blocks.EmbedBlock()), + ( + "rich_text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "h6", + "bold", + "italic", + "ol", + "ul", + "link", + "document-link", + "code", + "strikethrough", + "snippet-link", + "snippet-embed", + ] + ), + ), + ( + "lorem", + wagtail.blocks.StructBlock( + [("paragraphs", wagtail.blocks.IntegerBlock(min_value=1))] + ), + ), + ("html", wagtail.blocks.RawHTMLBlock()), + ( + "image", + wagtail.blocks.StructBlock( + [ + ("image", wagtail.images.blocks.ImageChooserBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + features=[ + "bold", + "italic", + "link", + "document-link", + "code", + "strikethrough", + ] + ), + ), + ] + ), + ), + ( + "code", + wagtail.blocks.StructBlock( + [ + ( + "language", + wagtail.blocks.ChoiceBlock( + choices=[ + ("ABAP", "ABAP"), + ("ABNF", "ABNF"), + ("ADL", "ADL"), + ("AMDGPU", "AMDGPU"), + ( + "ANSYS parametric design language", + "ANSYS parametric design language", + ), + ("ANTLR", "ANTLR"), + ( + "ANTLR With ActionScript Target", + "ANTLR With ActionScript Target", + ), + ( + "ANTLR With C# Target", + "ANTLR With C# Target", + ), + ( + "ANTLR With CPP Target", + "ANTLR With CPP Target", + ), + ( + "ANTLR With Java Target", + "ANTLR With Java Target", + ), + ( + "ANTLR With ObjectiveC Target", + "ANTLR With ObjectiveC Target", + ), + ( + "ANTLR With Perl Target", + "ANTLR With Perl Target", + ), + ( + "ANTLR With Python Target", + "ANTLR With Python Target", + ), + ( + "ANTLR With Ruby Target", + "ANTLR With Ruby Target", + ), + ("APL", "APL"), + ("ASCII armored", "ASCII armored"), + ("ActionScript", "ActionScript"), + ("ActionScript 3", "ActionScript 3"), + ("Ada", "Ada"), + ("Agda", "Agda"), + ("Aheui", "Aheui"), + ("Alloy", "Alloy"), + ("AmbientTalk", "AmbientTalk"), + ("Ampl", "Ampl"), + ("Angular2", "Angular2"), + ("ApacheConf", "ApacheConf"), + ("AppleScript", "AppleScript"), + ("Arduino", "Arduino"), + ("Arrow", "Arrow"), + ("AspectJ", "AspectJ"), + ("Asymptote", "Asymptote"), + ("Augeas", "Augeas"), + ("AutoIt", "AutoIt"), + ("Awk", "Awk"), + ("BARE", "BARE"), + ("BBC Basic", "BBC Basic"), + ("BBCode", "BBCode"), + ("BC", "BC"), + ("BNF", "BNF"), + ("BST", "BST"), + ("BUGS", "BUGS"), + ("Base Makefile", "Base Makefile"), + ("Bash", "Bash"), + ("Bash Session", "Bash Session"), + ("Batchfile", "Batchfile"), + ("Bdd", "Bdd"), + ("Befunge", "Befunge"), + ("Berry", "Berry"), + ("BibTeX", "BibTeX"), + ("BlitzBasic", "BlitzBasic"), + ("BlitzMax", "BlitzMax"), + ("Boa", "Boa"), + ("Boo", "Boo"), + ("Boogie", "Boogie"), + ("Brainfuck", "Brainfuck"), + ("C", "C"), + ("C#", "C#"), + ("C++", "C++"), + ("CAmkES", "CAmkES"), + ("CBM BASIC V2", "CBM BASIC V2"), + ("CDDL", "CDDL"), + ("CFEngine3", "CFEngine3"), + ("CMake", "CMake"), + ("COBOL", "COBOL"), + ("COBOLFree", "COBOLFree"), + ("CPSA", "CPSA"), + ("CSS", "CSS"), + ("CSS+Django/Jinja", "CSS+Django/Jinja"), + ("CSS+Genshi Text", "CSS+Genshi Text"), + ("CSS+Lasso", "CSS+Lasso"), + ("CSS+Mako", "CSS+Mako"), + ("CSS+Myghty", "CSS+Myghty"), + ("CSS+PHP", "CSS+PHP"), + ("CSS+Ruby", "CSS+Ruby"), + ("CSS+Smarty", "CSS+Smarty"), + ("CSS+UL4", "CSS+UL4"), + ("CSS+mozpreproc", "CSS+mozpreproc"), + ("CUDA", "CUDA"), + ("Cap'n Proto", "Cap'n Proto"), + ("CapDL", "CapDL"), + ("Ceylon", "Ceylon"), + ("ChaiScript", "ChaiScript"), + ("Chapel", "Chapel"), + ("Charmci", "Charmci"), + ("Cheetah", "Cheetah"), + ("Cirru", "Cirru"), + ("Clay", "Clay"), + ("Clean", "Clean"), + ("Clojure", "Clojure"), + ("ClojureScript", "ClojureScript"), + ("CoffeeScript", "CoffeeScript"), + ("Coldfusion CFC", "Coldfusion CFC"), + ("Coldfusion HTML", "Coldfusion HTML"), + ("Common Lisp", "Common Lisp"), + ("Component Pascal", "Component Pascal"), + ("Coq", "Coq"), + ("Crmsh", "Crmsh"), + ("Croc", "Croc"), + ("Cryptol", "Cryptol"), + ("Crystal", "Crystal"), + ("Csound Document", "Csound Document"), + ("Csound Orchestra", "Csound Orchestra"), + ("Csound Score", "Csound Score"), + ("Cypher", "Cypher"), + ("Cython", "Cython"), + ("D", "D"), + ("DASM16", "DASM16"), + ("DTD", "DTD"), + ("Darcs Patch", "Darcs Patch"), + ("Dart", "Dart"), + ( + "Debian Control file", + "Debian Control file", + ), + ("Debian Sourcelist", "Debian Sourcelist"), + ("Delphi", "Delphi"), + ("Devicetree", "Devicetree"), + ("Diff", "Diff"), + ("Django/Jinja", "Django/Jinja"), + ("Docker", "Docker"), + ("Duel", "Duel"), + ("Dylan", "Dylan"), + ("Dylan session", "Dylan session"), + ("DylanLID", "DylanLID"), + ("E-mail", "E-mail"), + ("EBNF", "EBNF"), + ("ECL", "ECL"), + ("ERB", "ERB"), + ("Earl Grey", "Earl Grey"), + ("Easytrieve", "Easytrieve"), + ("Eiffel", "Eiffel"), + ("Elixir", "Elixir"), + ( + "Elixir iex session", + "Elixir iex session", + ), + ("Elm", "Elm"), + ("Elpi", "Elpi"), + ("EmacsLisp", "EmacsLisp"), + ("Embedded Ragel", "Embedded Ragel"), + ("Erlang", "Erlang"), + ( + "Erlang erl session", + "Erlang erl session", + ), + ("Evoque", "Evoque"), + ("Ezhil", "Ezhil"), + ("F#", "F#"), + ("FStar", "FStar"), + ("Factor", "Factor"), + ("Fancy", "Fancy"), + ("Fantom", "Fantom"), + ("Felix", "Felix"), + ("Fennel", "Fennel"), + ("Fish", "Fish"), + ("Flatline", "Flatline"), + ("FloScript", "FloScript"), + ("Forth", "Forth"), + ("Fortran", "Fortran"), + ("FortranFixed", "FortranFixed"), + ("FoxPro", "FoxPro"), + ("Freefem", "Freefem"), + ("Futhark", "Futhark"), + ("GAP", "GAP"), + ("GAS", "GAS"), + ("GDScript", "GDScript"), + ("GLSL", "GLSL"), + ("GSQL", "GSQL"), + ("Genshi", "Genshi"), + ("Genshi Text", "Genshi Text"), + ("Gettext Catalog", "Gettext Catalog"), + ("Gherkin", "Gherkin"), + ("Gnuplot", "Gnuplot"), + ("Go", "Go"), + ("Golo", "Golo"), + ("GoodData-CL", "GoodData-CL"), + ("Gosu", "Gosu"), + ("Gosu Template", "Gosu Template"), + ("Graphviz", "Graphviz"), + ("Groff", "Groff"), + ("Groovy", "Groovy"), + ("HLSL", "HLSL"), + ("HSAIL", "HSAIL"), + ("HTML", "HTML"), + ("HTML + Angular2", "HTML + Angular2"), + ("HTML+Cheetah", "HTML+Cheetah"), + ("HTML+Django/Jinja", "HTML+Django/Jinja"), + ("HTML+Evoque", "HTML+Evoque"), + ("HTML+Genshi", "HTML+Genshi"), + ("HTML+Handlebars", "HTML+Handlebars"), + ("HTML+Lasso", "HTML+Lasso"), + ("HTML+Mako", "HTML+Mako"), + ("HTML+Myghty", "HTML+Myghty"), + ("HTML+PHP", "HTML+PHP"), + ("HTML+Smarty", "HTML+Smarty"), + ("HTML+Twig", "HTML+Twig"), + ("HTML+UL4", "HTML+UL4"), + ("HTML+Velocity", "HTML+Velocity"), + ("HTTP", "HTTP"), + ("Haml", "Haml"), + ("Handlebars", "Handlebars"), + ("Haskell", "Haskell"), + ("Haxe", "Haxe"), + ("Hexdump", "Hexdump"), + ("Hspec", "Hspec"), + ("Hxml", "Hxml"), + ("Hy", "Hy"), + ("Hybris", "Hybris"), + ("IDL", "IDL"), + ("INI", "INI"), + ("IRC logs", "IRC logs"), + ("Icon", "Icon"), + ("Idris", "Idris"), + ("Igor", "Igor"), + ("Inform 6", "Inform 6"), + ("Inform 6 template", "Inform 6 template"), + ("Inform 7", "Inform 7"), + ("Io", "Io"), + ("Ioke", "Ioke"), + ("Isabelle", "Isabelle"), + ("J", "J"), + ("JAGS", "JAGS"), + ("JCL", "JCL"), + ("JSGF", "JSGF"), + ("JSLT", "JSLT"), + ("JSON", "JSON"), + ("JSON-LD", "JSON-LD"), + ("JSONBareObject", "JSONBareObject"), + ("Jasmin", "Jasmin"), + ("Java", "Java"), + ("Java Server Page", "Java Server Page"), + ("JavaScript", "JavaScript"), + ( + "JavaScript+Cheetah", + "JavaScript+Cheetah", + ), + ( + "JavaScript+Django/Jinja", + "JavaScript+Django/Jinja", + ), + ( + "JavaScript+Genshi Text", + "JavaScript+Genshi Text", + ), + ("JavaScript+Lasso", "JavaScript+Lasso"), + ("JavaScript+Mako", "JavaScript+Mako"), + ("JavaScript+Myghty", "JavaScript+Myghty"), + ("JavaScript+PHP", "JavaScript+PHP"), + ("JavaScript+Ruby", "JavaScript+Ruby"), + ("JavaScript+Smarty", "JavaScript+Smarty"), + ("Javascript+UL4", "Javascript+UL4"), + ( + "Javascript+mozpreproc", + "Javascript+mozpreproc", + ), + ("Julia", "Julia"), + ("Julia console", "Julia console"), + ("Juttle", "Juttle"), + ("K", "K"), + ("Kal", "Kal"), + ("Kconfig", "Kconfig"), + ("Kernel log", "Kernel log"), + ("Koka", "Koka"), + ("Kotlin", "Kotlin"), + ("Kuin", "Kuin"), + ("LLVM", "LLVM"), + ("LLVM-MIR", "LLVM-MIR"), + ("LLVM-MIR Body", "LLVM-MIR Body"), + ("LSL", "LSL"), + ("Lasso", "Lasso"), + ("Lean", "Lean"), + ("LessCss", "LessCss"), + ( + "Lighttpd configuration file", + "Lighttpd configuration file", + ), + ("LilyPond", "LilyPond"), + ("Limbo", "Limbo"), + ("Literate Agda", "Literate Agda"), + ("Literate Cryptol", "Literate Cryptol"), + ("Literate Haskell", "Literate Haskell"), + ("Literate Idris", "Literate Idris"), + ("LiveScript", "LiveScript"), + ("Logos", "Logos"), + ("Logtalk", "Logtalk"), + ("Lua", "Lua"), + ("MAQL", "MAQL"), + ("MCFunction", "MCFunction"), + ("MIME", "MIME"), + ("MOOCode", "MOOCode"), + ("MQL", "MQL"), + ("MSDOS Session", "MSDOS Session"), + ("MXML", "MXML"), + ("Macaulay2", "Macaulay2"), + ("Makefile", "Makefile"), + ("Mako", "Mako"), + ("Markdown", "Markdown"), + ("Mask", "Mask"), + ("Mason", "Mason"), + ("Mathematica", "Mathematica"), + ("Matlab", "Matlab"), + ("Matlab session", "Matlab session"), + ("Maxima", "Maxima"), + ("Meson", "Meson"), + ("MiniD", "MiniD"), + ("MiniScript", "MiniScript"), + ("Modelica", "Modelica"), + ("Modula-2", "Modula-2"), + ( + "MoinMoin/Trac Wiki markup", + "MoinMoin/Trac Wiki markup", + ), + ("Monkey", "Monkey"), + ("Monte", "Monte"), + ("MoonScript", "MoonScript"), + ("Mosel", "Mosel"), + ("Mscgen", "Mscgen"), + ("MuPAD", "MuPAD"), + ("MySQL", "MySQL"), + ("Myghty", "Myghty"), + ("NASM", "NASM"), + ("NCL", "NCL"), + ("NSIS", "NSIS"), + ("Nemerle", "Nemerle"), + ("NestedText", "NestedText"), + ("NewLisp", "NewLisp"), + ("Newspeak", "Newspeak"), + ( + "Nginx configuration file", + "Nginx configuration file", + ), + ("Nimrod", "Nimrod"), + ("Nit", "Nit"), + ("Nix", "Nix"), + ( + "Node.js REPL console session", + "Node.js REPL console session", + ), + ("Notmuch", "Notmuch"), + ("NuSMV", "NuSMV"), + ("NumPy", "NumPy"), + ("OCaml", "OCaml"), + ("ODIN", "ODIN"), + ( + "OMG Interface Definition Language", + "OMG Interface Definition Language", + ), + ("Objective-C", "Objective-C"), + ("Objective-C++", "Objective-C++"), + ("Objective-J", "Objective-J"), + ("Octave", "Octave"), + ("Ooc", "Ooc"), + ("Opa", "Opa"), + ("OpenEdge ABL", "OpenEdge ABL"), + ("PEG", "PEG"), + ("PHP", "PHP"), + ("PL/pgSQL", "PL/pgSQL"), + ("POVRay", "POVRay"), + ("PacmanConf", "PacmanConf"), + ("Pan", "Pan"), + ("ParaSail", "ParaSail"), + ("Pawn", "Pawn"), + ("Perl", "Perl"), + ("Perl6", "Perl6"), + ("Pig", "Pig"), + ("Pike", "Pike"), + ("PkgConfig", "PkgConfig"), + ("Pointless", "Pointless"), + ("Pony", "Pony"), + ("PostScript", "PostScript"), + ( + "PostgreSQL SQL dialect", + "PostgreSQL SQL dialect", + ), + ( + "PostgreSQL console (psql)", + "PostgreSQL console (psql)", + ), + ("PowerShell", "PowerShell"), + ( + "PowerShell Session", + "PowerShell Session", + ), + ("Praat", "Praat"), + ("Procfile", "Procfile"), + ("Prolog", "Prolog"), + ("PromQL", "PromQL"), + ("Properties", "Properties"), + ("Protocol Buffer", "Protocol Buffer"), + ( + "PsySH console session for PHP", + "PsySH console session for PHP", + ), + ("Pug", "Pug"), + ("Puppet", "Puppet"), + ("PyPy Log", "PyPy Log"), + ("Python", "Python"), + ("Python 2.x", "Python 2.x"), + ( + "Python 2.x Traceback", + "Python 2.x Traceback", + ), + ("Python Traceback", "Python Traceback"), + ( + "Python console session", + "Python console session", + ), + ("Python+UL4", "Python+UL4"), + ("Q", "Q"), + ("QBasic", "QBasic"), + ("QML", "QML"), + ("QVTO", "QVTO"), + ("Qlik", "Qlik"), + ("RConsole", "RConsole"), + ("REBOL", "REBOL"), + ("RHTML", "RHTML"), + ("RPMSpec", "RPMSpec"), + ("RQL", "RQL"), + ("RSL", "RSL"), + ("Racket", "Racket"), + ("Ragel", "Ragel"), + ("Ragel in C Host", "Ragel in C Host"), + ("Ragel in CPP Host", "Ragel in CPP Host"), + ("Ragel in D Host", "Ragel in D Host"), + ( + "Ragel in Java Host", + "Ragel in Java Host", + ), + ( + "Ragel in Objective C Host", + "Ragel in Objective C Host", + ), + ( + "Ragel in Ruby Host", + "Ragel in Ruby Host", + ), + ("Raw token data", "Raw token data"), + ("Rd", "Rd"), + ("ReasonML", "ReasonML"), + ("Red", "Red"), + ("Redcode", "Redcode"), + ("Relax-NG Compact", "Relax-NG Compact"), + ("ResourceBundle", "ResourceBundle"), + ("Rexx", "Rexx"), + ("Ride", "Ride"), + ("Rita", "Rita"), + ("Roboconf Graph", "Roboconf Graph"), + ( + "Roboconf Instances", + "Roboconf Instances", + ), + ("RobotFramework", "RobotFramework"), + ("Ruby", "Ruby"), + ("Ruby irb session", "Ruby irb session"), + ("Rust", "Rust"), + ("S", "S"), + ("SARL", "SARL"), + ("SAS", "SAS"), + ("SCSS", "SCSS"), + ("SNBT", "SNBT"), + ("SPARQL", "SPARQL"), + ("SQL", "SQL"), + ("SWIG", "SWIG"), + ("Sass", "Sass"), + ("Savi", "Savi"), + ("Scala", "Scala"), + ( + "Scalate Server Page", + "Scalate Server Page", + ), + ("Scaml", "Scaml"), + ("Scheme", "Scheme"), + ("Scilab", "Scilab"), + ("Sed", "Sed"), + ("ShExC", "ShExC"), + ("Shen", "Shen"), + ("Sieve", "Sieve"), + ("Silver", "Silver"), + ("Singularity", "Singularity"), + ("Slash", "Slash"), + ("Slim", "Slim"), + ("Slurm", "Slurm"), + ("Smali", "Smali"), + ("Smalltalk", "Smalltalk"), + ("SmartGameFormat", "SmartGameFormat"), + ("Smarty", "Smarty"), + ("Smithy", "Smithy"), + ("Snobol", "Snobol"), + ("Snowball", "Snowball"), + ("Solidity", "Solidity"), + ("Sophia", "Sophia"), + ("SourcePawn", "SourcePawn"), + ("Spice", "Spice"), + ("SquidConf", "SquidConf"), + ("Srcinfo", "Srcinfo"), + ("Stan", "Stan"), + ("Standard ML", "Standard ML"), + ("Stata", "Stata"), + ("SuperCollider", "SuperCollider"), + ("Swift", "Swift"), + ("TADS 3", "TADS 3"), + ("TAP", "TAP"), + ("TASM", "TASM"), + ("TOML", "TOML"), + ("Tal", "Tal"), + ("Tcl", "Tcl"), + ("Tcsh", "Tcsh"), + ("Tcsh Session", "Tcsh Session"), + ("TeX", "TeX"), + ("Tea", "Tea"), + ("Tera Term macro", "Tera Term macro"), + ("Termcap", "Termcap"), + ("Terminfo", "Terminfo"), + ("Terraform", "Terraform"), + ("Text only", "Text only"), + ("Text output", "Text output"), + ("ThingsDB", "ThingsDB"), + ("Thrift", "Thrift"), + ("Todotxt", "Todotxt"), + ("TrafficScript", "TrafficScript"), + ("Transact-SQL", "Transact-SQL"), + ("Treetop", "Treetop"), + ("Turtle", "Turtle"), + ("Twig", "Twig"), + ("TypeScript", "TypeScript"), + ("TypoScript", "TypoScript"), + ("TypoScriptCssData", "TypoScriptCssData"), + ( + "TypoScriptHtmlData", + "TypoScriptHtmlData", + ), + ( + "Typographic Number Theory", + "Typographic Number Theory", + ), + ("UL4", "UL4"), + ("USD", "USD"), + ("Unicon", "Unicon"), + ( + "Unix/Linux config files", + "Unix/Linux config files", + ), + ("UrbiScript", "UrbiScript"), + ("VB.net", "VB.net"), + ("VBScript", "VBScript"), + ("VCL", "VCL"), + ("VCLSnippets", "VCLSnippets"), + ("VCTreeStatus", "VCTreeStatus"), + ("VGL", "VGL"), + ("Vala", "Vala"), + ("Velocity", "Velocity"), + ("VimL", "VimL"), + ("WDiff", "WDiff"), + ("Web IDL", "Web IDL"), + ("WebAssembly", "WebAssembly"), + ("Whiley", "Whiley"), + ("X10", "X10"), + ("XML", "XML"), + ("XML+Cheetah", "XML+Cheetah"), + ("XML+Django/Jinja", "XML+Django/Jinja"), + ("XML+Evoque", "XML+Evoque"), + ("XML+Lasso", "XML+Lasso"), + ("XML+Mako", "XML+Mako"), + ("XML+Myghty", "XML+Myghty"), + ("XML+PHP", "XML+PHP"), + ("XML+Ruby", "XML+Ruby"), + ("XML+Smarty", "XML+Smarty"), + ("XML+UL4", "XML+UL4"), + ("XML+Velocity", "XML+Velocity"), + ("XQuery", "XQuery"), + ("XSLT", "XSLT"), + ("XUL+mozpreproc", "XUL+mozpreproc"), + ("Xorg", "Xorg"), + ("Xtend", "Xtend"), + ("YAML", "YAML"), + ("YAML+Jinja", "YAML+Jinja"), + ("YANG", "YANG"), + ("Zeek", "Zeek"), + ("Zephir", "Zephir"), + ("Zig", "Zig"), + ("aspx-cs", "aspx-cs"), + ("aspx-vb", "aspx-vb"), + ("autohotkey", "autohotkey"), + ("c-objdump", "c-objdump"), + ("cADL", "cADL"), + ("ca65 assembler", "ca65 assembler"), + ("cfstatement", "cfstatement"), + ("cplint", "cplint"), + ("cpp-objdump", "cpp-objdump"), + ("d-objdump", "d-objdump"), + ("dg", "dg"), + ("eC", "eC"), + ("execline", "execline"), + ("g-code", "g-code"), + ("liquid", "liquid"), + ("mozhashpreproc", "mozhashpreproc"), + ("mozpercentpreproc", "mozpercentpreproc"), + ("nesC", "nesC"), + ("objdump", "objdump"), + ("objdump-nasm", "objdump-nasm"), + ("reStructuredText", "reStructuredText"), + ("reg", "reg"), + ("scdoc", "scdoc"), + ("sqlite3con", "sqlite3con"), + ("systemverilog", "systemverilog"), + ("teal", "teal"), + ("tiddler", "tiddler"), + ("ucode", "ucode"), + ("verilog", "verilog"), + ("vhdl", "vhdl"), + ("xtlang", "xtlang"), + ] + ), + ), + ("source", wagtail.blocks.TextBlock()), + ] + ), + ), + ( + "tangent", + wagtail.blocks.StructBlock( + [ + ("name", wagtail.blocks.CharBlock(max_length=64)), + ( + "content", + wagtail.blocks.RichTextBlock( + features=[ + "bold", + "italic", + "ol", + "ul", + "link", + "document-link", + "code", + "strikethrough", + ] + ), + ), + ] + ), + ), + ], + blank=True, + use_json_field=True, + ), + ), + migrations.AlterField( + model_name="blogpostpage", + name="body", + field=wagtail.fields.StreamField( + [ + ("embed", wagtail.embeds.blocks.EmbedBlock()), + ( + "rich_text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "h6", + "bold", + "italic", + "ol", + "ul", + "link", + "document-link", + "code", + "strikethrough", + "snippet-link", + "snippet-embed", + ] + ), + ), + ( + "lorem", + wagtail.blocks.StructBlock( + [("paragraphs", wagtail.blocks.IntegerBlock(min_value=1))] + ), + ), + ("html", wagtail.blocks.RawHTMLBlock()), + ( + "image", + wagtail.blocks.StructBlock( + [ + ("image", wagtail.images.blocks.ImageChooserBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + features=[ + "bold", + "italic", + "link", + "document-link", + "code", + "strikethrough", + ] + ), + ), + ] + ), + ), + ( + "code", + wagtail.blocks.StructBlock( + [ + ( + "language", + wagtail.blocks.ChoiceBlock( + choices=[ + ("ABAP", "ABAP"), + ("ABNF", "ABNF"), + ("ADL", "ADL"), + ("AMDGPU", "AMDGPU"), + ( + "ANSYS parametric design language", + "ANSYS parametric design language", + ), + ("ANTLR", "ANTLR"), + ( + "ANTLR With ActionScript Target", + "ANTLR With ActionScript Target", + ), + ( + "ANTLR With C# Target", + "ANTLR With C# Target", + ), + ( + "ANTLR With CPP Target", + "ANTLR With CPP Target", + ), + ( + "ANTLR With Java Target", + "ANTLR With Java Target", + ), + ( + "ANTLR With ObjectiveC Target", + "ANTLR With ObjectiveC Target", + ), + ( + "ANTLR With Perl Target", + "ANTLR With Perl Target", + ), + ( + "ANTLR With Python Target", + "ANTLR With Python Target", + ), + ( + "ANTLR With Ruby Target", + "ANTLR With Ruby Target", + ), + ("APL", "APL"), + ("ASCII armored", "ASCII armored"), + ("ActionScript", "ActionScript"), + ("ActionScript 3", "ActionScript 3"), + ("Ada", "Ada"), + ("Agda", "Agda"), + ("Aheui", "Aheui"), + ("Alloy", "Alloy"), + ("AmbientTalk", "AmbientTalk"), + ("Ampl", "Ampl"), + ("Angular2", "Angular2"), + ("ApacheConf", "ApacheConf"), + ("AppleScript", "AppleScript"), + ("Arduino", "Arduino"), + ("Arrow", "Arrow"), + ("AspectJ", "AspectJ"), + ("Asymptote", "Asymptote"), + ("Augeas", "Augeas"), + ("AutoIt", "AutoIt"), + ("Awk", "Awk"), + ("BARE", "BARE"), + ("BBC Basic", "BBC Basic"), + ("BBCode", "BBCode"), + ("BC", "BC"), + ("BNF", "BNF"), + ("BST", "BST"), + ("BUGS", "BUGS"), + ("Base Makefile", "Base Makefile"), + ("Bash", "Bash"), + ("Bash Session", "Bash Session"), + ("Batchfile", "Batchfile"), + ("Bdd", "Bdd"), + ("Befunge", "Befunge"), + ("Berry", "Berry"), + ("BibTeX", "BibTeX"), + ("BlitzBasic", "BlitzBasic"), + ("BlitzMax", "BlitzMax"), + ("Boa", "Boa"), + ("Boo", "Boo"), + ("Boogie", "Boogie"), + ("Brainfuck", "Brainfuck"), + ("C", "C"), + ("C#", "C#"), + ("C++", "C++"), + ("CAmkES", "CAmkES"), + ("CBM BASIC V2", "CBM BASIC V2"), + ("CDDL", "CDDL"), + ("CFEngine3", "CFEngine3"), + ("CMake", "CMake"), + ("COBOL", "COBOL"), + ("COBOLFree", "COBOLFree"), + ("CPSA", "CPSA"), + ("CSS", "CSS"), + ("CSS+Django/Jinja", "CSS+Django/Jinja"), + ("CSS+Genshi Text", "CSS+Genshi Text"), + ("CSS+Lasso", "CSS+Lasso"), + ("CSS+Mako", "CSS+Mako"), + ("CSS+Myghty", "CSS+Myghty"), + ("CSS+PHP", "CSS+PHP"), + ("CSS+Ruby", "CSS+Ruby"), + ("CSS+Smarty", "CSS+Smarty"), + ("CSS+UL4", "CSS+UL4"), + ("CSS+mozpreproc", "CSS+mozpreproc"), + ("CUDA", "CUDA"), + ("Cap'n Proto", "Cap'n Proto"), + ("CapDL", "CapDL"), + ("Ceylon", "Ceylon"), + ("ChaiScript", "ChaiScript"), + ("Chapel", "Chapel"), + ("Charmci", "Charmci"), + ("Cheetah", "Cheetah"), + ("Cirru", "Cirru"), + ("Clay", "Clay"), + ("Clean", "Clean"), + ("Clojure", "Clojure"), + ("ClojureScript", "ClojureScript"), + ("CoffeeScript", "CoffeeScript"), + ("Coldfusion CFC", "Coldfusion CFC"), + ("Coldfusion HTML", "Coldfusion HTML"), + ("Common Lisp", "Common Lisp"), + ("Component Pascal", "Component Pascal"), + ("Coq", "Coq"), + ("Crmsh", "Crmsh"), + ("Croc", "Croc"), + ("Cryptol", "Cryptol"), + ("Crystal", "Crystal"), + ("Csound Document", "Csound Document"), + ("Csound Orchestra", "Csound Orchestra"), + ("Csound Score", "Csound Score"), + ("Cypher", "Cypher"), + ("Cython", "Cython"), + ("D", "D"), + ("DASM16", "DASM16"), + ("DTD", "DTD"), + ("Darcs Patch", "Darcs Patch"), + ("Dart", "Dart"), + ( + "Debian Control file", + "Debian Control file", + ), + ("Debian Sourcelist", "Debian Sourcelist"), + ("Delphi", "Delphi"), + ("Devicetree", "Devicetree"), + ("Diff", "Diff"), + ("Django/Jinja", "Django/Jinja"), + ("Docker", "Docker"), + ("Duel", "Duel"), + ("Dylan", "Dylan"), + ("Dylan session", "Dylan session"), + ("DylanLID", "DylanLID"), + ("E-mail", "E-mail"), + ("EBNF", "EBNF"), + ("ECL", "ECL"), + ("ERB", "ERB"), + ("Earl Grey", "Earl Grey"), + ("Easytrieve", "Easytrieve"), + ("Eiffel", "Eiffel"), + ("Elixir", "Elixir"), + ( + "Elixir iex session", + "Elixir iex session", + ), + ("Elm", "Elm"), + ("Elpi", "Elpi"), + ("EmacsLisp", "EmacsLisp"), + ("Embedded Ragel", "Embedded Ragel"), + ("Erlang", "Erlang"), + ( + "Erlang erl session", + "Erlang erl session", + ), + ("Evoque", "Evoque"), + ("Ezhil", "Ezhil"), + ("F#", "F#"), + ("FStar", "FStar"), + ("Factor", "Factor"), + ("Fancy", "Fancy"), + ("Fantom", "Fantom"), + ("Felix", "Felix"), + ("Fennel", "Fennel"), + ("Fish", "Fish"), + ("Flatline", "Flatline"), + ("FloScript", "FloScript"), + ("Forth", "Forth"), + ("Fortran", "Fortran"), + ("FortranFixed", "FortranFixed"), + ("FoxPro", "FoxPro"), + ("Freefem", "Freefem"), + ("Futhark", "Futhark"), + ("GAP", "GAP"), + ("GAS", "GAS"), + ("GDScript", "GDScript"), + ("GLSL", "GLSL"), + ("GSQL", "GSQL"), + ("Genshi", "Genshi"), + ("Genshi Text", "Genshi Text"), + ("Gettext Catalog", "Gettext Catalog"), + ("Gherkin", "Gherkin"), + ("Gnuplot", "Gnuplot"), + ("Go", "Go"), + ("Golo", "Golo"), + ("GoodData-CL", "GoodData-CL"), + ("Gosu", "Gosu"), + ("Gosu Template", "Gosu Template"), + ("Graphviz", "Graphviz"), + ("Groff", "Groff"), + ("Groovy", "Groovy"), + ("HLSL", "HLSL"), + ("HSAIL", "HSAIL"), + ("HTML", "HTML"), + ("HTML + Angular2", "HTML + Angular2"), + ("HTML+Cheetah", "HTML+Cheetah"), + ("HTML+Django/Jinja", "HTML+Django/Jinja"), + ("HTML+Evoque", "HTML+Evoque"), + ("HTML+Genshi", "HTML+Genshi"), + ("HTML+Handlebars", "HTML+Handlebars"), + ("HTML+Lasso", "HTML+Lasso"), + ("HTML+Mako", "HTML+Mako"), + ("HTML+Myghty", "HTML+Myghty"), + ("HTML+PHP", "HTML+PHP"), + ("HTML+Smarty", "HTML+Smarty"), + ("HTML+Twig", "HTML+Twig"), + ("HTML+UL4", "HTML+UL4"), + ("HTML+Velocity", "HTML+Velocity"), + ("HTTP", "HTTP"), + ("Haml", "Haml"), + ("Handlebars", "Handlebars"), + ("Haskell", "Haskell"), + ("Haxe", "Haxe"), + ("Hexdump", "Hexdump"), + ("Hspec", "Hspec"), + ("Hxml", "Hxml"), + ("Hy", "Hy"), + ("Hybris", "Hybris"), + ("IDL", "IDL"), + ("INI", "INI"), + ("IRC logs", "IRC logs"), + ("Icon", "Icon"), + ("Idris", "Idris"), + ("Igor", "Igor"), + ("Inform 6", "Inform 6"), + ("Inform 6 template", "Inform 6 template"), + ("Inform 7", "Inform 7"), + ("Io", "Io"), + ("Ioke", "Ioke"), + ("Isabelle", "Isabelle"), + ("J", "J"), + ("JAGS", "JAGS"), + ("JCL", "JCL"), + ("JSGF", "JSGF"), + ("JSLT", "JSLT"), + ("JSON", "JSON"), + ("JSON-LD", "JSON-LD"), + ("JSONBareObject", "JSONBareObject"), + ("Jasmin", "Jasmin"), + ("Java", "Java"), + ("Java Server Page", "Java Server Page"), + ("JavaScript", "JavaScript"), + ( + "JavaScript+Cheetah", + "JavaScript+Cheetah", + ), + ( + "JavaScript+Django/Jinja", + "JavaScript+Django/Jinja", + ), + ( + "JavaScript+Genshi Text", + "JavaScript+Genshi Text", + ), + ("JavaScript+Lasso", "JavaScript+Lasso"), + ("JavaScript+Mako", "JavaScript+Mako"), + ("JavaScript+Myghty", "JavaScript+Myghty"), + ("JavaScript+PHP", "JavaScript+PHP"), + ("JavaScript+Ruby", "JavaScript+Ruby"), + ("JavaScript+Smarty", "JavaScript+Smarty"), + ("Javascript+UL4", "Javascript+UL4"), + ( + "Javascript+mozpreproc", + "Javascript+mozpreproc", + ), + ("Julia", "Julia"), + ("Julia console", "Julia console"), + ("Juttle", "Juttle"), + ("K", "K"), + ("Kal", "Kal"), + ("Kconfig", "Kconfig"), + ("Kernel log", "Kernel log"), + ("Koka", "Koka"), + ("Kotlin", "Kotlin"), + ("Kuin", "Kuin"), + ("LLVM", "LLVM"), + ("LLVM-MIR", "LLVM-MIR"), + ("LLVM-MIR Body", "LLVM-MIR Body"), + ("LSL", "LSL"), + ("Lasso", "Lasso"), + ("Lean", "Lean"), + ("LessCss", "LessCss"), + ( + "Lighttpd configuration file", + "Lighttpd configuration file", + ), + ("LilyPond", "LilyPond"), + ("Limbo", "Limbo"), + ("Literate Agda", "Literate Agda"), + ("Literate Cryptol", "Literate Cryptol"), + ("Literate Haskell", "Literate Haskell"), + ("Literate Idris", "Literate Idris"), + ("LiveScript", "LiveScript"), + ("Logos", "Logos"), + ("Logtalk", "Logtalk"), + ("Lua", "Lua"), + ("MAQL", "MAQL"), + ("MCFunction", "MCFunction"), + ("MIME", "MIME"), + ("MOOCode", "MOOCode"), + ("MQL", "MQL"), + ("MSDOS Session", "MSDOS Session"), + ("MXML", "MXML"), + ("Macaulay2", "Macaulay2"), + ("Makefile", "Makefile"), + ("Mako", "Mako"), + ("Markdown", "Markdown"), + ("Mask", "Mask"), + ("Mason", "Mason"), + ("Mathematica", "Mathematica"), + ("Matlab", "Matlab"), + ("Matlab session", "Matlab session"), + ("Maxima", "Maxima"), + ("Meson", "Meson"), + ("MiniD", "MiniD"), + ("MiniScript", "MiniScript"), + ("Modelica", "Modelica"), + ("Modula-2", "Modula-2"), + ( + "MoinMoin/Trac Wiki markup", + "MoinMoin/Trac Wiki markup", + ), + ("Monkey", "Monkey"), + ("Monte", "Monte"), + ("MoonScript", "MoonScript"), + ("Mosel", "Mosel"), + ("Mscgen", "Mscgen"), + ("MuPAD", "MuPAD"), + ("MySQL", "MySQL"), + ("Myghty", "Myghty"), + ("NASM", "NASM"), + ("NCL", "NCL"), + ("NSIS", "NSIS"), + ("Nemerle", "Nemerle"), + ("NestedText", "NestedText"), + ("NewLisp", "NewLisp"), + ("Newspeak", "Newspeak"), + ( + "Nginx configuration file", + "Nginx configuration file", + ), + ("Nimrod", "Nimrod"), + ("Nit", "Nit"), + ("Nix", "Nix"), + ( + "Node.js REPL console session", + "Node.js REPL console session", + ), + ("Notmuch", "Notmuch"), + ("NuSMV", "NuSMV"), + ("NumPy", "NumPy"), + ("OCaml", "OCaml"), + ("ODIN", "ODIN"), + ( + "OMG Interface Definition Language", + "OMG Interface Definition Language", + ), + ("Objective-C", "Objective-C"), + ("Objective-C++", "Objective-C++"), + ("Objective-J", "Objective-J"), + ("Octave", "Octave"), + ("Ooc", "Ooc"), + ("Opa", "Opa"), + ("OpenEdge ABL", "OpenEdge ABL"), + ("PEG", "PEG"), + ("PHP", "PHP"), + ("PL/pgSQL", "PL/pgSQL"), + ("POVRay", "POVRay"), + ("PacmanConf", "PacmanConf"), + ("Pan", "Pan"), + ("ParaSail", "ParaSail"), + ("Pawn", "Pawn"), + ("Perl", "Perl"), + ("Perl6", "Perl6"), + ("Pig", "Pig"), + ("Pike", "Pike"), + ("PkgConfig", "PkgConfig"), + ("Pointless", "Pointless"), + ("Pony", "Pony"), + ("PostScript", "PostScript"), + ( + "PostgreSQL SQL dialect", + "PostgreSQL SQL dialect", + ), + ( + "PostgreSQL console (psql)", + "PostgreSQL console (psql)", + ), + ("PowerShell", "PowerShell"), + ( + "PowerShell Session", + "PowerShell Session", + ), + ("Praat", "Praat"), + ("Procfile", "Procfile"), + ("Prolog", "Prolog"), + ("PromQL", "PromQL"), + ("Properties", "Properties"), + ("Protocol Buffer", "Protocol Buffer"), + ( + "PsySH console session for PHP", + "PsySH console session for PHP", + ), + ("Pug", "Pug"), + ("Puppet", "Puppet"), + ("PyPy Log", "PyPy Log"), + ("Python", "Python"), + ("Python 2.x", "Python 2.x"), + ( + "Python 2.x Traceback", + "Python 2.x Traceback", + ), + ("Python Traceback", "Python Traceback"), + ( + "Python console session", + "Python console session", + ), + ("Python+UL4", "Python+UL4"), + ("Q", "Q"), + ("QBasic", "QBasic"), + ("QML", "QML"), + ("QVTO", "QVTO"), + ("Qlik", "Qlik"), + ("RConsole", "RConsole"), + ("REBOL", "REBOL"), + ("RHTML", "RHTML"), + ("RPMSpec", "RPMSpec"), + ("RQL", "RQL"), + ("RSL", "RSL"), + ("Racket", "Racket"), + ("Ragel", "Ragel"), + ("Ragel in C Host", "Ragel in C Host"), + ("Ragel in CPP Host", "Ragel in CPP Host"), + ("Ragel in D Host", "Ragel in D Host"), + ( + "Ragel in Java Host", + "Ragel in Java Host", + ), + ( + "Ragel in Objective C Host", + "Ragel in Objective C Host", + ), + ( + "Ragel in Ruby Host", + "Ragel in Ruby Host", + ), + ("Raw token data", "Raw token data"), + ("Rd", "Rd"), + ("ReasonML", "ReasonML"), + ("Red", "Red"), + ("Redcode", "Redcode"), + ("Relax-NG Compact", "Relax-NG Compact"), + ("ResourceBundle", "ResourceBundle"), + ("Rexx", "Rexx"), + ("Ride", "Ride"), + ("Rita", "Rita"), + ("Roboconf Graph", "Roboconf Graph"), + ( + "Roboconf Instances", + "Roboconf Instances", + ), + ("RobotFramework", "RobotFramework"), + ("Ruby", "Ruby"), + ("Ruby irb session", "Ruby irb session"), + ("Rust", "Rust"), + ("S", "S"), + ("SARL", "SARL"), + ("SAS", "SAS"), + ("SCSS", "SCSS"), + ("SNBT", "SNBT"), + ("SPARQL", "SPARQL"), + ("SQL", "SQL"), + ("SWIG", "SWIG"), + ("Sass", "Sass"), + ("Savi", "Savi"), + ("Scala", "Scala"), + ( + "Scalate Server Page", + "Scalate Server Page", + ), + ("Scaml", "Scaml"), + ("Scheme", "Scheme"), + ("Scilab", "Scilab"), + ("Sed", "Sed"), + ("ShExC", "ShExC"), + ("Shen", "Shen"), + ("Sieve", "Sieve"), + ("Silver", "Silver"), + ("Singularity", "Singularity"), + ("Slash", "Slash"), + ("Slim", "Slim"), + ("Slurm", "Slurm"), + ("Smali", "Smali"), + ("Smalltalk", "Smalltalk"), + ("SmartGameFormat", "SmartGameFormat"), + ("Smarty", "Smarty"), + ("Smithy", "Smithy"), + ("Snobol", "Snobol"), + ("Snowball", "Snowball"), + ("Solidity", "Solidity"), + ("Sophia", "Sophia"), + ("SourcePawn", "SourcePawn"), + ("Spice", "Spice"), + ("SquidConf", "SquidConf"), + ("Srcinfo", "Srcinfo"), + ("Stan", "Stan"), + ("Standard ML", "Standard ML"), + ("Stata", "Stata"), + ("SuperCollider", "SuperCollider"), + ("Swift", "Swift"), + ("TADS 3", "TADS 3"), + ("TAP", "TAP"), + ("TASM", "TASM"), + ("TOML", "TOML"), + ("Tal", "Tal"), + ("Tcl", "Tcl"), + ("Tcsh", "Tcsh"), + ("Tcsh Session", "Tcsh Session"), + ("TeX", "TeX"), + ("Tea", "Tea"), + ("Tera Term macro", "Tera Term macro"), + ("Termcap", "Termcap"), + ("Terminfo", "Terminfo"), + ("Terraform", "Terraform"), + ("Text only", "Text only"), + ("Text output", "Text output"), + ("ThingsDB", "ThingsDB"), + ("Thrift", "Thrift"), + ("Todotxt", "Todotxt"), + ("TrafficScript", "TrafficScript"), + ("Transact-SQL", "Transact-SQL"), + ("Treetop", "Treetop"), + ("Turtle", "Turtle"), + ("Twig", "Twig"), + ("TypeScript", "TypeScript"), + ("TypoScript", "TypoScript"), + ("TypoScriptCssData", "TypoScriptCssData"), + ( + "TypoScriptHtmlData", + "TypoScriptHtmlData", + ), + ( + "Typographic Number Theory", + "Typographic Number Theory", + ), + ("UL4", "UL4"), + ("USD", "USD"), + ("Unicon", "Unicon"), + ( + "Unix/Linux config files", + "Unix/Linux config files", + ), + ("UrbiScript", "UrbiScript"), + ("VB.net", "VB.net"), + ("VBScript", "VBScript"), + ("VCL", "VCL"), + ("VCLSnippets", "VCLSnippets"), + ("VCTreeStatus", "VCTreeStatus"), + ("VGL", "VGL"), + ("Vala", "Vala"), + ("Velocity", "Velocity"), + ("VimL", "VimL"), + ("WDiff", "WDiff"), + ("Web IDL", "Web IDL"), + ("WebAssembly", "WebAssembly"), + ("Whiley", "Whiley"), + ("X10", "X10"), + ("XML", "XML"), + ("XML+Cheetah", "XML+Cheetah"), + ("XML+Django/Jinja", "XML+Django/Jinja"), + ("XML+Evoque", "XML+Evoque"), + ("XML+Lasso", "XML+Lasso"), + ("XML+Mako", "XML+Mako"), + ("XML+Myghty", "XML+Myghty"), + ("XML+PHP", "XML+PHP"), + ("XML+Ruby", "XML+Ruby"), + ("XML+Smarty", "XML+Smarty"), + ("XML+UL4", "XML+UL4"), + ("XML+Velocity", "XML+Velocity"), + ("XQuery", "XQuery"), + ("XSLT", "XSLT"), + ("XUL+mozpreproc", "XUL+mozpreproc"), + ("Xorg", "Xorg"), + ("Xtend", "Xtend"), + ("YAML", "YAML"), + ("YAML+Jinja", "YAML+Jinja"), + ("YANG", "YANG"), + ("Zeek", "Zeek"), + ("Zephir", "Zephir"), + ("Zig", "Zig"), + ("aspx-cs", "aspx-cs"), + ("aspx-vb", "aspx-vb"), + ("autohotkey", "autohotkey"), + ("c-objdump", "c-objdump"), + ("cADL", "cADL"), + ("ca65 assembler", "ca65 assembler"), + ("cfstatement", "cfstatement"), + ("cplint", "cplint"), + ("cpp-objdump", "cpp-objdump"), + ("d-objdump", "d-objdump"), + ("dg", "dg"), + ("eC", "eC"), + ("execline", "execline"), + ("g-code", "g-code"), + ("liquid", "liquid"), + ("mozhashpreproc", "mozhashpreproc"), + ("mozpercentpreproc", "mozpercentpreproc"), + ("nesC", "nesC"), + ("objdump", "objdump"), + ("objdump-nasm", "objdump-nasm"), + ("reStructuredText", "reStructuredText"), + ("reg", "reg"), + ("scdoc", "scdoc"), + ("sqlite3con", "sqlite3con"), + ("systemverilog", "systemverilog"), + ("teal", "teal"), + ("tiddler", "tiddler"), + ("ucode", "ucode"), + ("verilog", "verilog"), + ("vhdl", "vhdl"), + ("xtlang", "xtlang"), + ] + ), + ), + ("source", wagtail.blocks.TextBlock()), + ] + ), + ), + ( + "tangent", + wagtail.blocks.StructBlock( + [ + ("name", wagtail.blocks.CharBlock(max_length=64)), + ( + "content", + wagtail.blocks.RichTextBlock( + features=[ + "bold", + "italic", + "ol", + "ul", + "link", + "document-link", + "code", + "strikethrough", + ] + ), + ), + ] + ), + ), + ], + blank=True, + use_json_field=True, + ), + ), + ] diff --git a/website/common/migrations/0012_referrallink_alter_contentpage_body_and_more.py b/website/common/migrations/0012_referrallink_alter_contentpage_body_and_more.py new file mode 100644 index 0000000..cd003f1 --- /dev/null +++ b/website/common/migrations/0012_referrallink_alter_contentpage_body_and_more.py @@ -0,0 +1,1507 @@ +# Generated by Django 4.0.5 on 2022-07-14 20:39 + +import wagtail.blocks +import wagtail.embeds.blocks +import wagtail.fields +import wagtail.images.blocks +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("common", "0011_contentpage_hero_unsplash_photo_and_more"), + ] + + operations = [ + migrations.CreateModel( + name="ReferralLink", + fields=[ + ( + "id", + models.AutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ("url", models.URLField()), + ("name", models.CharField(max_length=64, unique=True)), + ], + ), + migrations.AlterField( + model_name="contentpage", + name="body", + field=wagtail.fields.StreamField( + [ + ("embed", wagtail.embeds.blocks.EmbedBlock()), + ( + "rich_text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "h6", + "bold", + "italic", + "ol", + "ul", + "link", + "document-link", + "code", + "strikethrough", + "snippet-link", + "snippet-embed", + ] + ), + ), + ( + "lorem", + wagtail.blocks.StructBlock( + [("paragraphs", wagtail.blocks.IntegerBlock(min_value=1))] + ), + ), + ("html", wagtail.blocks.RawHTMLBlock()), + ( + "image", + wagtail.blocks.StructBlock( + [ + ("image", wagtail.images.blocks.ImageChooserBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + features=[ + "bold", + "italic", + "link", + "document-link", + "code", + "strikethrough", + ] + ), + ), + ] + ), + ), + ( + "code", + wagtail.blocks.StructBlock( + [ + ( + "language", + wagtail.blocks.ChoiceBlock( + choices=[ + ("ABAP", "ABAP"), + ("ABNF", "ABNF"), + ("ADL", "ADL"), + ("AMDGPU", "AMDGPU"), + ( + "ANSYS parametric design language", + "ANSYS parametric design language", + ), + ("ANTLR", "ANTLR"), + ( + "ANTLR With ActionScript Target", + "ANTLR With ActionScript Target", + ), + ( + "ANTLR With C# Target", + "ANTLR With C# Target", + ), + ( + "ANTLR With CPP Target", + "ANTLR With CPP Target", + ), + ( + "ANTLR With Java Target", + "ANTLR With Java Target", + ), + ( + "ANTLR With ObjectiveC Target", + "ANTLR With ObjectiveC Target", + ), + ( + "ANTLR With Perl Target", + "ANTLR With Perl Target", + ), + ( + "ANTLR With Python Target", + "ANTLR With Python Target", + ), + ( + "ANTLR With Ruby Target", + "ANTLR With Ruby Target", + ), + ("APL", "APL"), + ("ASCII armored", "ASCII armored"), + ("ActionScript", "ActionScript"), + ("ActionScript 3", "ActionScript 3"), + ("Ada", "Ada"), + ("Agda", "Agda"), + ("Aheui", "Aheui"), + ("Alloy", "Alloy"), + ("AmbientTalk", "AmbientTalk"), + ("Ampl", "Ampl"), + ("Angular2", "Angular2"), + ("ApacheConf", "ApacheConf"), + ("AppleScript", "AppleScript"), + ("Arduino", "Arduino"), + ("Arrow", "Arrow"), + ("AspectJ", "AspectJ"), + ("Asymptote", "Asymptote"), + ("Augeas", "Augeas"), + ("AutoIt", "AutoIt"), + ("Awk", "Awk"), + ("BARE", "BARE"), + ("BBC Basic", "BBC Basic"), + ("BBCode", "BBCode"), + ("BC", "BC"), + ("BNF", "BNF"), + ("BST", "BST"), + ("BUGS", "BUGS"), + ("Base Makefile", "Base Makefile"), + ("Bash", "Bash"), + ("Bash Session", "Bash Session"), + ("Batchfile", "Batchfile"), + ("Bdd", "Bdd"), + ("Befunge", "Befunge"), + ("Berry", "Berry"), + ("BibTeX", "BibTeX"), + ("BlitzBasic", "BlitzBasic"), + ("BlitzMax", "BlitzMax"), + ("Boa", "Boa"), + ("Boo", "Boo"), + ("Boogie", "Boogie"), + ("Brainfuck", "Brainfuck"), + ("C", "C"), + ("C#", "C#"), + ("C++", "C++"), + ("CAmkES", "CAmkES"), + ("CBM BASIC V2", "CBM BASIC V2"), + ("CDDL", "CDDL"), + ("CFEngine3", "CFEngine3"), + ("CMake", "CMake"), + ("COBOL", "COBOL"), + ("COBOLFree", "COBOLFree"), + ("CPSA", "CPSA"), + ("CSS", "CSS"), + ("CSS+Django/Jinja", "CSS+Django/Jinja"), + ("CSS+Genshi Text", "CSS+Genshi Text"), + ("CSS+Lasso", "CSS+Lasso"), + ("CSS+Mako", "CSS+Mako"), + ("CSS+Myghty", "CSS+Myghty"), + ("CSS+PHP", "CSS+PHP"), + ("CSS+Ruby", "CSS+Ruby"), + ("CSS+Smarty", "CSS+Smarty"), + ("CSS+UL4", "CSS+UL4"), + ("CSS+mozpreproc", "CSS+mozpreproc"), + ("CUDA", "CUDA"), + ("Cap'n Proto", "Cap'n Proto"), + ("CapDL", "CapDL"), + ("Ceylon", "Ceylon"), + ("ChaiScript", "ChaiScript"), + ("Chapel", "Chapel"), + ("Charmci", "Charmci"), + ("Cheetah", "Cheetah"), + ("Cirru", "Cirru"), + ("Clay", "Clay"), + ("Clean", "Clean"), + ("Clojure", "Clojure"), + ("ClojureScript", "ClojureScript"), + ("CoffeeScript", "CoffeeScript"), + ("Coldfusion CFC", "Coldfusion CFC"), + ("Coldfusion HTML", "Coldfusion HTML"), + ("Common Lisp", "Common Lisp"), + ("Component Pascal", "Component Pascal"), + ("Coq", "Coq"), + ("Crmsh", "Crmsh"), + ("Croc", "Croc"), + ("Cryptol", "Cryptol"), + ("Crystal", "Crystal"), + ("Csound Document", "Csound Document"), + ("Csound Orchestra", "Csound Orchestra"), + ("Csound Score", "Csound Score"), + ("Cypher", "Cypher"), + ("Cython", "Cython"), + ("D", "D"), + ("DASM16", "DASM16"), + ("DTD", "DTD"), + ("Darcs Patch", "Darcs Patch"), + ("Dart", "Dart"), + ( + "Debian Control file", + "Debian Control file", + ), + ("Debian Sourcelist", "Debian Sourcelist"), + ("Delphi", "Delphi"), + ("Devicetree", "Devicetree"), + ("Diff", "Diff"), + ("Django/Jinja", "Django/Jinja"), + ("Docker", "Docker"), + ("Duel", "Duel"), + ("Dylan", "Dylan"), + ("Dylan session", "Dylan session"), + ("DylanLID", "DylanLID"), + ("E-mail", "E-mail"), + ("EBNF", "EBNF"), + ("ECL", "ECL"), + ("ERB", "ERB"), + ("Earl Grey", "Earl Grey"), + ("Easytrieve", "Easytrieve"), + ("Eiffel", "Eiffel"), + ("Elixir", "Elixir"), + ( + "Elixir iex session", + "Elixir iex session", + ), + ("Elm", "Elm"), + ("Elpi", "Elpi"), + ("EmacsLisp", "EmacsLisp"), + ("Embedded Ragel", "Embedded Ragel"), + ("Erlang", "Erlang"), + ( + "Erlang erl session", + "Erlang erl session", + ), + ("Evoque", "Evoque"), + ("Ezhil", "Ezhil"), + ("F#", "F#"), + ("FStar", "FStar"), + ("Factor", "Factor"), + ("Fancy", "Fancy"), + ("Fantom", "Fantom"), + ("Felix", "Felix"), + ("Fennel", "Fennel"), + ("Fish", "Fish"), + ("Flatline", "Flatline"), + ("FloScript", "FloScript"), + ("Forth", "Forth"), + ("Fortran", "Fortran"), + ("FortranFixed", "FortranFixed"), + ("FoxPro", "FoxPro"), + ("Freefem", "Freefem"), + ("Futhark", "Futhark"), + ("GAP", "GAP"), + ("GAS", "GAS"), + ("GDScript", "GDScript"), + ("GLSL", "GLSL"), + ("GSQL", "GSQL"), + ("Genshi", "Genshi"), + ("Genshi Text", "Genshi Text"), + ("Gettext Catalog", "Gettext Catalog"), + ("Gherkin", "Gherkin"), + ("Gnuplot", "Gnuplot"), + ("Go", "Go"), + ("Golo", "Golo"), + ("GoodData-CL", "GoodData-CL"), + ("Gosu", "Gosu"), + ("Gosu Template", "Gosu Template"), + ("Graphviz", "Graphviz"), + ("Groff", "Groff"), + ("Groovy", "Groovy"), + ("HLSL", "HLSL"), + ("HSAIL", "HSAIL"), + ("HTML", "HTML"), + ("HTML + Angular2", "HTML + Angular2"), + ("HTML+Cheetah", "HTML+Cheetah"), + ("HTML+Django/Jinja", "HTML+Django/Jinja"), + ("HTML+Evoque", "HTML+Evoque"), + ("HTML+Genshi", "HTML+Genshi"), + ("HTML+Handlebars", "HTML+Handlebars"), + ("HTML+Lasso", "HTML+Lasso"), + ("HTML+Mako", "HTML+Mako"), + ("HTML+Myghty", "HTML+Myghty"), + ("HTML+PHP", "HTML+PHP"), + ("HTML+Smarty", "HTML+Smarty"), + ("HTML+Twig", "HTML+Twig"), + ("HTML+UL4", "HTML+UL4"), + ("HTML+Velocity", "HTML+Velocity"), + ("HTTP", "HTTP"), + ("Haml", "Haml"), + ("Handlebars", "Handlebars"), + ("Haskell", "Haskell"), + ("Haxe", "Haxe"), + ("Hexdump", "Hexdump"), + ("Hspec", "Hspec"), + ("Hxml", "Hxml"), + ("Hy", "Hy"), + ("Hybris", "Hybris"), + ("IDL", "IDL"), + ("INI", "INI"), + ("IRC logs", "IRC logs"), + ("Icon", "Icon"), + ("Idris", "Idris"), + ("Igor", "Igor"), + ("Inform 6", "Inform 6"), + ("Inform 6 template", "Inform 6 template"), + ("Inform 7", "Inform 7"), + ("Io", "Io"), + ("Ioke", "Ioke"), + ("Isabelle", "Isabelle"), + ("J", "J"), + ("JAGS", "JAGS"), + ("JCL", "JCL"), + ("JSGF", "JSGF"), + ("JSLT", "JSLT"), + ("JSON", "JSON"), + ("JSON-LD", "JSON-LD"), + ("JSONBareObject", "JSONBareObject"), + ("Jasmin", "Jasmin"), + ("Java", "Java"), + ("Java Server Page", "Java Server Page"), + ("JavaScript", "JavaScript"), + ( + "JavaScript+Cheetah", + "JavaScript+Cheetah", + ), + ( + "JavaScript+Django/Jinja", + "JavaScript+Django/Jinja", + ), + ( + "JavaScript+Genshi Text", + "JavaScript+Genshi Text", + ), + ("JavaScript+Lasso", "JavaScript+Lasso"), + ("JavaScript+Mako", "JavaScript+Mako"), + ("JavaScript+Myghty", "JavaScript+Myghty"), + ("JavaScript+PHP", "JavaScript+PHP"), + ("JavaScript+Ruby", "JavaScript+Ruby"), + ("JavaScript+Smarty", "JavaScript+Smarty"), + ("Javascript+UL4", "Javascript+UL4"), + ( + "Javascript+mozpreproc", + "Javascript+mozpreproc", + ), + ("Julia", "Julia"), + ("Julia console", "Julia console"), + ("Juttle", "Juttle"), + ("K", "K"), + ("Kal", "Kal"), + ("Kconfig", "Kconfig"), + ("Kernel log", "Kernel log"), + ("Koka", "Koka"), + ("Kotlin", "Kotlin"), + ("Kuin", "Kuin"), + ("LLVM", "LLVM"), + ("LLVM-MIR", "LLVM-MIR"), + ("LLVM-MIR Body", "LLVM-MIR Body"), + ("LSL", "LSL"), + ("Lasso", "Lasso"), + ("Lean", "Lean"), + ("LessCss", "LessCss"), + ( + "Lighttpd configuration file", + "Lighttpd configuration file", + ), + ("LilyPond", "LilyPond"), + ("Limbo", "Limbo"), + ("Literate Agda", "Literate Agda"), + ("Literate Cryptol", "Literate Cryptol"), + ("Literate Haskell", "Literate Haskell"), + ("Literate Idris", "Literate Idris"), + ("LiveScript", "LiveScript"), + ("Logos", "Logos"), + ("Logtalk", "Logtalk"), + ("Lua", "Lua"), + ("MAQL", "MAQL"), + ("MCFunction", "MCFunction"), + ("MIME", "MIME"), + ("MOOCode", "MOOCode"), + ("MQL", "MQL"), + ("MSDOS Session", "MSDOS Session"), + ("MXML", "MXML"), + ("Macaulay2", "Macaulay2"), + ("Makefile", "Makefile"), + ("Mako", "Mako"), + ("Markdown", "Markdown"), + ("Mask", "Mask"), + ("Mason", "Mason"), + ("Mathematica", "Mathematica"), + ("Matlab", "Matlab"), + ("Matlab session", "Matlab session"), + ("Maxima", "Maxima"), + ("Meson", "Meson"), + ("MiniD", "MiniD"), + ("MiniScript", "MiniScript"), + ("Modelica", "Modelica"), + ("Modula-2", "Modula-2"), + ( + "MoinMoin/Trac Wiki markup", + "MoinMoin/Trac Wiki markup", + ), + ("Monkey", "Monkey"), + ("Monte", "Monte"), + ("MoonScript", "MoonScript"), + ("Mosel", "Mosel"), + ("Mscgen", "Mscgen"), + ("MuPAD", "MuPAD"), + ("MySQL", "MySQL"), + ("Myghty", "Myghty"), + ("NASM", "NASM"), + ("NCL", "NCL"), + ("NSIS", "NSIS"), + ("Nemerle", "Nemerle"), + ("NestedText", "NestedText"), + ("NewLisp", "NewLisp"), + ("Newspeak", "Newspeak"), + ( + "Nginx configuration file", + "Nginx configuration file", + ), + ("Nimrod", "Nimrod"), + ("Nit", "Nit"), + ("Nix", "Nix"), + ( + "Node.js REPL console session", + "Node.js REPL console session", + ), + ("Notmuch", "Notmuch"), + ("NuSMV", "NuSMV"), + ("NumPy", "NumPy"), + ("OCaml", "OCaml"), + ("ODIN", "ODIN"), + ( + "OMG Interface Definition Language", + "OMG Interface Definition Language", + ), + ("Objective-C", "Objective-C"), + ("Objective-C++", "Objective-C++"), + ("Objective-J", "Objective-J"), + ("Octave", "Octave"), + ("Ooc", "Ooc"), + ("Opa", "Opa"), + ("OpenEdge ABL", "OpenEdge ABL"), + ("PEG", "PEG"), + ("PHP", "PHP"), + ("PL/pgSQL", "PL/pgSQL"), + ("POVRay", "POVRay"), + ("PacmanConf", "PacmanConf"), + ("Pan", "Pan"), + ("ParaSail", "ParaSail"), + ("Pawn", "Pawn"), + ("Perl", "Perl"), + ("Perl6", "Perl6"), + ("Pig", "Pig"), + ("Pike", "Pike"), + ("PkgConfig", "PkgConfig"), + ("Pointless", "Pointless"), + ("Pony", "Pony"), + ("PostScript", "PostScript"), + ( + "PostgreSQL SQL dialect", + "PostgreSQL SQL dialect", + ), + ( + "PostgreSQL console (psql)", + "PostgreSQL console (psql)", + ), + ("PowerShell", "PowerShell"), + ( + "PowerShell Session", + "PowerShell Session", + ), + ("Praat", "Praat"), + ("Procfile", "Procfile"), + ("Prolog", "Prolog"), + ("PromQL", "PromQL"), + ("Properties", "Properties"), + ("Protocol Buffer", "Protocol Buffer"), + ( + "PsySH console session for PHP", + "PsySH console session for PHP", + ), + ("Pug", "Pug"), + ("Puppet", "Puppet"), + ("PyPy Log", "PyPy Log"), + ("Python", "Python"), + ("Python 2.x", "Python 2.x"), + ( + "Python 2.x Traceback", + "Python 2.x Traceback", + ), + ("Python Traceback", "Python Traceback"), + ( + "Python console session", + "Python console session", + ), + ("Python+UL4", "Python+UL4"), + ("Q", "Q"), + ("QBasic", "QBasic"), + ("QML", "QML"), + ("QVTO", "QVTO"), + ("Qlik", "Qlik"), + ("RConsole", "RConsole"), + ("REBOL", "REBOL"), + ("RHTML", "RHTML"), + ("RPMSpec", "RPMSpec"), + ("RQL", "RQL"), + ("RSL", "RSL"), + ("Racket", "Racket"), + ("Ragel", "Ragel"), + ("Ragel in C Host", "Ragel in C Host"), + ("Ragel in CPP Host", "Ragel in CPP Host"), + ("Ragel in D Host", "Ragel in D Host"), + ( + "Ragel in Java Host", + "Ragel in Java Host", + ), + ( + "Ragel in Objective C Host", + "Ragel in Objective C Host", + ), + ( + "Ragel in Ruby Host", + "Ragel in Ruby Host", + ), + ("Raw token data", "Raw token data"), + ("Rd", "Rd"), + ("ReasonML", "ReasonML"), + ("Red", "Red"), + ("Redcode", "Redcode"), + ("Relax-NG Compact", "Relax-NG Compact"), + ("ResourceBundle", "ResourceBundle"), + ("Rexx", "Rexx"), + ("Ride", "Ride"), + ("Rita", "Rita"), + ("Roboconf Graph", "Roboconf Graph"), + ( + "Roboconf Instances", + "Roboconf Instances", + ), + ("RobotFramework", "RobotFramework"), + ("Ruby", "Ruby"), + ("Ruby irb session", "Ruby irb session"), + ("Rust", "Rust"), + ("S", "S"), + ("SARL", "SARL"), + ("SAS", "SAS"), + ("SCSS", "SCSS"), + ("SNBT", "SNBT"), + ("SPARQL", "SPARQL"), + ("SQL", "SQL"), + ("SWIG", "SWIG"), + ("Sass", "Sass"), + ("Savi", "Savi"), + ("Scala", "Scala"), + ( + "Scalate Server Page", + "Scalate Server Page", + ), + ("Scaml", "Scaml"), + ("Scheme", "Scheme"), + ("Scilab", "Scilab"), + ("Sed", "Sed"), + ("ShExC", "ShExC"), + ("Shen", "Shen"), + ("Sieve", "Sieve"), + ("Silver", "Silver"), + ("Singularity", "Singularity"), + ("Slash", "Slash"), + ("Slim", "Slim"), + ("Slurm", "Slurm"), + ("Smali", "Smali"), + ("Smalltalk", "Smalltalk"), + ("SmartGameFormat", "SmartGameFormat"), + ("Smarty", "Smarty"), + ("Smithy", "Smithy"), + ("Snobol", "Snobol"), + ("Snowball", "Snowball"), + ("Solidity", "Solidity"), + ("Sophia", "Sophia"), + ("SourcePawn", "SourcePawn"), + ("Spice", "Spice"), + ("SquidConf", "SquidConf"), + ("Srcinfo", "Srcinfo"), + ("Stan", "Stan"), + ("Standard ML", "Standard ML"), + ("Stata", "Stata"), + ("SuperCollider", "SuperCollider"), + ("Swift", "Swift"), + ("TADS 3", "TADS 3"), + ("TAP", "TAP"), + ("TASM", "TASM"), + ("TOML", "TOML"), + ("Tal", "Tal"), + ("Tcl", "Tcl"), + ("Tcsh", "Tcsh"), + ("Tcsh Session", "Tcsh Session"), + ("TeX", "TeX"), + ("Tea", "Tea"), + ("Tera Term macro", "Tera Term macro"), + ("Termcap", "Termcap"), + ("Terminfo", "Terminfo"), + ("Terraform", "Terraform"), + ("Text only", "Text only"), + ("Text output", "Text output"), + ("ThingsDB", "ThingsDB"), + ("Thrift", "Thrift"), + ("Todotxt", "Todotxt"), + ("TrafficScript", "TrafficScript"), + ("Transact-SQL", "Transact-SQL"), + ("Treetop", "Treetop"), + ("Turtle", "Turtle"), + ("Twig", "Twig"), + ("TypeScript", "TypeScript"), + ("TypoScript", "TypoScript"), + ("TypoScriptCssData", "TypoScriptCssData"), + ( + "TypoScriptHtmlData", + "TypoScriptHtmlData", + ), + ( + "Typographic Number Theory", + "Typographic Number Theory", + ), + ("UL4", "UL4"), + ("USD", "USD"), + ("Unicon", "Unicon"), + ( + "Unix/Linux config files", + "Unix/Linux config files", + ), + ("UrbiScript", "UrbiScript"), + ("VB.net", "VB.net"), + ("VBScript", "VBScript"), + ("VCL", "VCL"), + ("VCLSnippets", "VCLSnippets"), + ("VCTreeStatus", "VCTreeStatus"), + ("VGL", "VGL"), + ("Vala", "Vala"), + ("Velocity", "Velocity"), + ("VimL", "VimL"), + ("WDiff", "WDiff"), + ("Web IDL", "Web IDL"), + ("WebAssembly", "WebAssembly"), + ("Whiley", "Whiley"), + ("X10", "X10"), + ("XML", "XML"), + ("XML+Cheetah", "XML+Cheetah"), + ("XML+Django/Jinja", "XML+Django/Jinja"), + ("XML+Evoque", "XML+Evoque"), + ("XML+Lasso", "XML+Lasso"), + ("XML+Mako", "XML+Mako"), + ("XML+Myghty", "XML+Myghty"), + ("XML+PHP", "XML+PHP"), + ("XML+Ruby", "XML+Ruby"), + ("XML+Smarty", "XML+Smarty"), + ("XML+UL4", "XML+UL4"), + ("XML+Velocity", "XML+Velocity"), + ("XQuery", "XQuery"), + ("XSLT", "XSLT"), + ("XUL+mozpreproc", "XUL+mozpreproc"), + ("Xorg", "Xorg"), + ("Xtend", "Xtend"), + ("YAML", "YAML"), + ("YAML+Jinja", "YAML+Jinja"), + ("YANG", "YANG"), + ("Zeek", "Zeek"), + ("Zephir", "Zephir"), + ("Zig", "Zig"), + ("aspx-cs", "aspx-cs"), + ("aspx-vb", "aspx-vb"), + ("autohotkey", "autohotkey"), + ("c-objdump", "c-objdump"), + ("cADL", "cADL"), + ("ca65 assembler", "ca65 assembler"), + ("cfstatement", "cfstatement"), + ("cplint", "cplint"), + ("cpp-objdump", "cpp-objdump"), + ("d-objdump", "d-objdump"), + ("dg", "dg"), + ("eC", "eC"), + ("execline", "execline"), + ("g-code", "g-code"), + ("liquid", "liquid"), + ("mozhashpreproc", "mozhashpreproc"), + ("mozpercentpreproc", "mozpercentpreproc"), + ("nesC", "nesC"), + ("objdump", "objdump"), + ("objdump-nasm", "objdump-nasm"), + ("reStructuredText", "reStructuredText"), + ("reg", "reg"), + ("scdoc", "scdoc"), + ("sqlite3con", "sqlite3con"), + ("systemverilog", "systemverilog"), + ("teal", "teal"), + ("tiddler", "tiddler"), + ("ucode", "ucode"), + ("verilog", "verilog"), + ("vhdl", "vhdl"), + ("xtlang", "xtlang"), + ] + ), + ), + ("source", wagtail.blocks.TextBlock()), + ] + ), + ), + ( + "tangent", + wagtail.blocks.StructBlock( + [ + ("name", wagtail.blocks.CharBlock(max_length=64)), + ( + "content", + wagtail.blocks.RichTextBlock( + features=[ + "bold", + "italic", + "ol", + "ul", + "link", + "document-link", + "code", + "strikethrough", + ] + ), + ), + ] + ), + ), + ], + blank=True, + use_json_field=True, + ), + ), + migrations.AlterField( + model_name="listingpage", + name="body", + field=wagtail.fields.StreamField( + [ + ("embed", wagtail.embeds.blocks.EmbedBlock()), + ( + "rich_text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "h6", + "bold", + "italic", + "ol", + "ul", + "link", + "document-link", + "code", + "strikethrough", + "snippet-link", + "snippet-embed", + ] + ), + ), + ( + "lorem", + wagtail.blocks.StructBlock( + [("paragraphs", wagtail.blocks.IntegerBlock(min_value=1))] + ), + ), + ("html", wagtail.blocks.RawHTMLBlock()), + ( + "image", + wagtail.blocks.StructBlock( + [ + ("image", wagtail.images.blocks.ImageChooserBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + features=[ + "bold", + "italic", + "link", + "document-link", + "code", + "strikethrough", + ] + ), + ), + ] + ), + ), + ( + "code", + wagtail.blocks.StructBlock( + [ + ( + "language", + wagtail.blocks.ChoiceBlock( + choices=[ + ("ABAP", "ABAP"), + ("ABNF", "ABNF"), + ("ADL", "ADL"), + ("AMDGPU", "AMDGPU"), + ( + "ANSYS parametric design language", + "ANSYS parametric design language", + ), + ("ANTLR", "ANTLR"), + ( + "ANTLR With ActionScript Target", + "ANTLR With ActionScript Target", + ), + ( + "ANTLR With C# Target", + "ANTLR With C# Target", + ), + ( + "ANTLR With CPP Target", + "ANTLR With CPP Target", + ), + ( + "ANTLR With Java Target", + "ANTLR With Java Target", + ), + ( + "ANTLR With ObjectiveC Target", + "ANTLR With ObjectiveC Target", + ), + ( + "ANTLR With Perl Target", + "ANTLR With Perl Target", + ), + ( + "ANTLR With Python Target", + "ANTLR With Python Target", + ), + ( + "ANTLR With Ruby Target", + "ANTLR With Ruby Target", + ), + ("APL", "APL"), + ("ASCII armored", "ASCII armored"), + ("ActionScript", "ActionScript"), + ("ActionScript 3", "ActionScript 3"), + ("Ada", "Ada"), + ("Agda", "Agda"), + ("Aheui", "Aheui"), + ("Alloy", "Alloy"), + ("AmbientTalk", "AmbientTalk"), + ("Ampl", "Ampl"), + ("Angular2", "Angular2"), + ("ApacheConf", "ApacheConf"), + ("AppleScript", "AppleScript"), + ("Arduino", "Arduino"), + ("Arrow", "Arrow"), + ("AspectJ", "AspectJ"), + ("Asymptote", "Asymptote"), + ("Augeas", "Augeas"), + ("AutoIt", "AutoIt"), + ("Awk", "Awk"), + ("BARE", "BARE"), + ("BBC Basic", "BBC Basic"), + ("BBCode", "BBCode"), + ("BC", "BC"), + ("BNF", "BNF"), + ("BST", "BST"), + ("BUGS", "BUGS"), + ("Base Makefile", "Base Makefile"), + ("Bash", "Bash"), + ("Bash Session", "Bash Session"), + ("Batchfile", "Batchfile"), + ("Bdd", "Bdd"), + ("Befunge", "Befunge"), + ("Berry", "Berry"), + ("BibTeX", "BibTeX"), + ("BlitzBasic", "BlitzBasic"), + ("BlitzMax", "BlitzMax"), + ("Boa", "Boa"), + ("Boo", "Boo"), + ("Boogie", "Boogie"), + ("Brainfuck", "Brainfuck"), + ("C", "C"), + ("C#", "C#"), + ("C++", "C++"), + ("CAmkES", "CAmkES"), + ("CBM BASIC V2", "CBM BASIC V2"), + ("CDDL", "CDDL"), + ("CFEngine3", "CFEngine3"), + ("CMake", "CMake"), + ("COBOL", "COBOL"), + ("COBOLFree", "COBOLFree"), + ("CPSA", "CPSA"), + ("CSS", "CSS"), + ("CSS+Django/Jinja", "CSS+Django/Jinja"), + ("CSS+Genshi Text", "CSS+Genshi Text"), + ("CSS+Lasso", "CSS+Lasso"), + ("CSS+Mako", "CSS+Mako"), + ("CSS+Myghty", "CSS+Myghty"), + ("CSS+PHP", "CSS+PHP"), + ("CSS+Ruby", "CSS+Ruby"), + ("CSS+Smarty", "CSS+Smarty"), + ("CSS+UL4", "CSS+UL4"), + ("CSS+mozpreproc", "CSS+mozpreproc"), + ("CUDA", "CUDA"), + ("Cap'n Proto", "Cap'n Proto"), + ("CapDL", "CapDL"), + ("Ceylon", "Ceylon"), + ("ChaiScript", "ChaiScript"), + ("Chapel", "Chapel"), + ("Charmci", "Charmci"), + ("Cheetah", "Cheetah"), + ("Cirru", "Cirru"), + ("Clay", "Clay"), + ("Clean", "Clean"), + ("Clojure", "Clojure"), + ("ClojureScript", "ClojureScript"), + ("CoffeeScript", "CoffeeScript"), + ("Coldfusion CFC", "Coldfusion CFC"), + ("Coldfusion HTML", "Coldfusion HTML"), + ("Common Lisp", "Common Lisp"), + ("Component Pascal", "Component Pascal"), + ("Coq", "Coq"), + ("Crmsh", "Crmsh"), + ("Croc", "Croc"), + ("Cryptol", "Cryptol"), + ("Crystal", "Crystal"), + ("Csound Document", "Csound Document"), + ("Csound Orchestra", "Csound Orchestra"), + ("Csound Score", "Csound Score"), + ("Cypher", "Cypher"), + ("Cython", "Cython"), + ("D", "D"), + ("DASM16", "DASM16"), + ("DTD", "DTD"), + ("Darcs Patch", "Darcs Patch"), + ("Dart", "Dart"), + ( + "Debian Control file", + "Debian Control file", + ), + ("Debian Sourcelist", "Debian Sourcelist"), + ("Delphi", "Delphi"), + ("Devicetree", "Devicetree"), + ("Diff", "Diff"), + ("Django/Jinja", "Django/Jinja"), + ("Docker", "Docker"), + ("Duel", "Duel"), + ("Dylan", "Dylan"), + ("Dylan session", "Dylan session"), + ("DylanLID", "DylanLID"), + ("E-mail", "E-mail"), + ("EBNF", "EBNF"), + ("ECL", "ECL"), + ("ERB", "ERB"), + ("Earl Grey", "Earl Grey"), + ("Easytrieve", "Easytrieve"), + ("Eiffel", "Eiffel"), + ("Elixir", "Elixir"), + ( + "Elixir iex session", + "Elixir iex session", + ), + ("Elm", "Elm"), + ("Elpi", "Elpi"), + ("EmacsLisp", "EmacsLisp"), + ("Embedded Ragel", "Embedded Ragel"), + ("Erlang", "Erlang"), + ( + "Erlang erl session", + "Erlang erl session", + ), + ("Evoque", "Evoque"), + ("Ezhil", "Ezhil"), + ("F#", "F#"), + ("FStar", "FStar"), + ("Factor", "Factor"), + ("Fancy", "Fancy"), + ("Fantom", "Fantom"), + ("Felix", "Felix"), + ("Fennel", "Fennel"), + ("Fish", "Fish"), + ("Flatline", "Flatline"), + ("FloScript", "FloScript"), + ("Forth", "Forth"), + ("Fortran", "Fortran"), + ("FortranFixed", "FortranFixed"), + ("FoxPro", "FoxPro"), + ("Freefem", "Freefem"), + ("Futhark", "Futhark"), + ("GAP", "GAP"), + ("GAS", "GAS"), + ("GDScript", "GDScript"), + ("GLSL", "GLSL"), + ("GSQL", "GSQL"), + ("Genshi", "Genshi"), + ("Genshi Text", "Genshi Text"), + ("Gettext Catalog", "Gettext Catalog"), + ("Gherkin", "Gherkin"), + ("Gnuplot", "Gnuplot"), + ("Go", "Go"), + ("Golo", "Golo"), + ("GoodData-CL", "GoodData-CL"), + ("Gosu", "Gosu"), + ("Gosu Template", "Gosu Template"), + ("Graphviz", "Graphviz"), + ("Groff", "Groff"), + ("Groovy", "Groovy"), + ("HLSL", "HLSL"), + ("HSAIL", "HSAIL"), + ("HTML", "HTML"), + ("HTML + Angular2", "HTML + Angular2"), + ("HTML+Cheetah", "HTML+Cheetah"), + ("HTML+Django/Jinja", "HTML+Django/Jinja"), + ("HTML+Evoque", "HTML+Evoque"), + ("HTML+Genshi", "HTML+Genshi"), + ("HTML+Handlebars", "HTML+Handlebars"), + ("HTML+Lasso", "HTML+Lasso"), + ("HTML+Mako", "HTML+Mako"), + ("HTML+Myghty", "HTML+Myghty"), + ("HTML+PHP", "HTML+PHP"), + ("HTML+Smarty", "HTML+Smarty"), + ("HTML+Twig", "HTML+Twig"), + ("HTML+UL4", "HTML+UL4"), + ("HTML+Velocity", "HTML+Velocity"), + ("HTTP", "HTTP"), + ("Haml", "Haml"), + ("Handlebars", "Handlebars"), + ("Haskell", "Haskell"), + ("Haxe", "Haxe"), + ("Hexdump", "Hexdump"), + ("Hspec", "Hspec"), + ("Hxml", "Hxml"), + ("Hy", "Hy"), + ("Hybris", "Hybris"), + ("IDL", "IDL"), + ("INI", "INI"), + ("IRC logs", "IRC logs"), + ("Icon", "Icon"), + ("Idris", "Idris"), + ("Igor", "Igor"), + ("Inform 6", "Inform 6"), + ("Inform 6 template", "Inform 6 template"), + ("Inform 7", "Inform 7"), + ("Io", "Io"), + ("Ioke", "Ioke"), + ("Isabelle", "Isabelle"), + ("J", "J"), + ("JAGS", "JAGS"), + ("JCL", "JCL"), + ("JSGF", "JSGF"), + ("JSLT", "JSLT"), + ("JSON", "JSON"), + ("JSON-LD", "JSON-LD"), + ("JSONBareObject", "JSONBareObject"), + ("Jasmin", "Jasmin"), + ("Java", "Java"), + ("Java Server Page", "Java Server Page"), + ("JavaScript", "JavaScript"), + ( + "JavaScript+Cheetah", + "JavaScript+Cheetah", + ), + ( + "JavaScript+Django/Jinja", + "JavaScript+Django/Jinja", + ), + ( + "JavaScript+Genshi Text", + "JavaScript+Genshi Text", + ), + ("JavaScript+Lasso", "JavaScript+Lasso"), + ("JavaScript+Mako", "JavaScript+Mako"), + ("JavaScript+Myghty", "JavaScript+Myghty"), + ("JavaScript+PHP", "JavaScript+PHP"), + ("JavaScript+Ruby", "JavaScript+Ruby"), + ("JavaScript+Smarty", "JavaScript+Smarty"), + ("Javascript+UL4", "Javascript+UL4"), + ( + "Javascript+mozpreproc", + "Javascript+mozpreproc", + ), + ("Julia", "Julia"), + ("Julia console", "Julia console"), + ("Juttle", "Juttle"), + ("K", "K"), + ("Kal", "Kal"), + ("Kconfig", "Kconfig"), + ("Kernel log", "Kernel log"), + ("Koka", "Koka"), + ("Kotlin", "Kotlin"), + ("Kuin", "Kuin"), + ("LLVM", "LLVM"), + ("LLVM-MIR", "LLVM-MIR"), + ("LLVM-MIR Body", "LLVM-MIR Body"), + ("LSL", "LSL"), + ("Lasso", "Lasso"), + ("Lean", "Lean"), + ("LessCss", "LessCss"), + ( + "Lighttpd configuration file", + "Lighttpd configuration file", + ), + ("LilyPond", "LilyPond"), + ("Limbo", "Limbo"), + ("Literate Agda", "Literate Agda"), + ("Literate Cryptol", "Literate Cryptol"), + ("Literate Haskell", "Literate Haskell"), + ("Literate Idris", "Literate Idris"), + ("LiveScript", "LiveScript"), + ("Logos", "Logos"), + ("Logtalk", "Logtalk"), + ("Lua", "Lua"), + ("MAQL", "MAQL"), + ("MCFunction", "MCFunction"), + ("MIME", "MIME"), + ("MOOCode", "MOOCode"), + ("MQL", "MQL"), + ("MSDOS Session", "MSDOS Session"), + ("MXML", "MXML"), + ("Macaulay2", "Macaulay2"), + ("Makefile", "Makefile"), + ("Mako", "Mako"), + ("Markdown", "Markdown"), + ("Mask", "Mask"), + ("Mason", "Mason"), + ("Mathematica", "Mathematica"), + ("Matlab", "Matlab"), + ("Matlab session", "Matlab session"), + ("Maxima", "Maxima"), + ("Meson", "Meson"), + ("MiniD", "MiniD"), + ("MiniScript", "MiniScript"), + ("Modelica", "Modelica"), + ("Modula-2", "Modula-2"), + ( + "MoinMoin/Trac Wiki markup", + "MoinMoin/Trac Wiki markup", + ), + ("Monkey", "Monkey"), + ("Monte", "Monte"), + ("MoonScript", "MoonScript"), + ("Mosel", "Mosel"), + ("Mscgen", "Mscgen"), + ("MuPAD", "MuPAD"), + ("MySQL", "MySQL"), + ("Myghty", "Myghty"), + ("NASM", "NASM"), + ("NCL", "NCL"), + ("NSIS", "NSIS"), + ("Nemerle", "Nemerle"), + ("NestedText", "NestedText"), + ("NewLisp", "NewLisp"), + ("Newspeak", "Newspeak"), + ( + "Nginx configuration file", + "Nginx configuration file", + ), + ("Nimrod", "Nimrod"), + ("Nit", "Nit"), + ("Nix", "Nix"), + ( + "Node.js REPL console session", + "Node.js REPL console session", + ), + ("Notmuch", "Notmuch"), + ("NuSMV", "NuSMV"), + ("NumPy", "NumPy"), + ("OCaml", "OCaml"), + ("ODIN", "ODIN"), + ( + "OMG Interface Definition Language", + "OMG Interface Definition Language", + ), + ("Objective-C", "Objective-C"), + ("Objective-C++", "Objective-C++"), + ("Objective-J", "Objective-J"), + ("Octave", "Octave"), + ("Ooc", "Ooc"), + ("Opa", "Opa"), + ("OpenEdge ABL", "OpenEdge ABL"), + ("PEG", "PEG"), + ("PHP", "PHP"), + ("PL/pgSQL", "PL/pgSQL"), + ("POVRay", "POVRay"), + ("PacmanConf", "PacmanConf"), + ("Pan", "Pan"), + ("ParaSail", "ParaSail"), + ("Pawn", "Pawn"), + ("Perl", "Perl"), + ("Perl6", "Perl6"), + ("Pig", "Pig"), + ("Pike", "Pike"), + ("PkgConfig", "PkgConfig"), + ("Pointless", "Pointless"), + ("Pony", "Pony"), + ("PostScript", "PostScript"), + ( + "PostgreSQL SQL dialect", + "PostgreSQL SQL dialect", + ), + ( + "PostgreSQL console (psql)", + "PostgreSQL console (psql)", + ), + ("PowerShell", "PowerShell"), + ( + "PowerShell Session", + "PowerShell Session", + ), + ("Praat", "Praat"), + ("Procfile", "Procfile"), + ("Prolog", "Prolog"), + ("PromQL", "PromQL"), + ("Properties", "Properties"), + ("Protocol Buffer", "Protocol Buffer"), + ( + "PsySH console session for PHP", + "PsySH console session for PHP", + ), + ("Pug", "Pug"), + ("Puppet", "Puppet"), + ("PyPy Log", "PyPy Log"), + ("Python", "Python"), + ("Python 2.x", "Python 2.x"), + ( + "Python 2.x Traceback", + "Python 2.x Traceback", + ), + ("Python Traceback", "Python Traceback"), + ( + "Python console session", + "Python console session", + ), + ("Python+UL4", "Python+UL4"), + ("Q", "Q"), + ("QBasic", "QBasic"), + ("QML", "QML"), + ("QVTO", "QVTO"), + ("Qlik", "Qlik"), + ("RConsole", "RConsole"), + ("REBOL", "REBOL"), + ("RHTML", "RHTML"), + ("RPMSpec", "RPMSpec"), + ("RQL", "RQL"), + ("RSL", "RSL"), + ("Racket", "Racket"), + ("Ragel", "Ragel"), + ("Ragel in C Host", "Ragel in C Host"), + ("Ragel in CPP Host", "Ragel in CPP Host"), + ("Ragel in D Host", "Ragel in D Host"), + ( + "Ragel in Java Host", + "Ragel in Java Host", + ), + ( + "Ragel in Objective C Host", + "Ragel in Objective C Host", + ), + ( + "Ragel in Ruby Host", + "Ragel in Ruby Host", + ), + ("Raw token data", "Raw token data"), + ("Rd", "Rd"), + ("ReasonML", "ReasonML"), + ("Red", "Red"), + ("Redcode", "Redcode"), + ("Relax-NG Compact", "Relax-NG Compact"), + ("ResourceBundle", "ResourceBundle"), + ("Rexx", "Rexx"), + ("Ride", "Ride"), + ("Rita", "Rita"), + ("Roboconf Graph", "Roboconf Graph"), + ( + "Roboconf Instances", + "Roboconf Instances", + ), + ("RobotFramework", "RobotFramework"), + ("Ruby", "Ruby"), + ("Ruby irb session", "Ruby irb session"), + ("Rust", "Rust"), + ("S", "S"), + ("SARL", "SARL"), + ("SAS", "SAS"), + ("SCSS", "SCSS"), + ("SNBT", "SNBT"), + ("SPARQL", "SPARQL"), + ("SQL", "SQL"), + ("SWIG", "SWIG"), + ("Sass", "Sass"), + ("Savi", "Savi"), + ("Scala", "Scala"), + ( + "Scalate Server Page", + "Scalate Server Page", + ), + ("Scaml", "Scaml"), + ("Scheme", "Scheme"), + ("Scilab", "Scilab"), + ("Sed", "Sed"), + ("ShExC", "ShExC"), + ("Shen", "Shen"), + ("Sieve", "Sieve"), + ("Silver", "Silver"), + ("Singularity", "Singularity"), + ("Slash", "Slash"), + ("Slim", "Slim"), + ("Slurm", "Slurm"), + ("Smali", "Smali"), + ("Smalltalk", "Smalltalk"), + ("SmartGameFormat", "SmartGameFormat"), + ("Smarty", "Smarty"), + ("Smithy", "Smithy"), + ("Snobol", "Snobol"), + ("Snowball", "Snowball"), + ("Solidity", "Solidity"), + ("Sophia", "Sophia"), + ("SourcePawn", "SourcePawn"), + ("Spice", "Spice"), + ("SquidConf", "SquidConf"), + ("Srcinfo", "Srcinfo"), + ("Stan", "Stan"), + ("Standard ML", "Standard ML"), + ("Stata", "Stata"), + ("SuperCollider", "SuperCollider"), + ("Swift", "Swift"), + ("TADS 3", "TADS 3"), + ("TAP", "TAP"), + ("TASM", "TASM"), + ("TOML", "TOML"), + ("Tal", "Tal"), + ("Tcl", "Tcl"), + ("Tcsh", "Tcsh"), + ("Tcsh Session", "Tcsh Session"), + ("TeX", "TeX"), + ("Tea", "Tea"), + ("Tera Term macro", "Tera Term macro"), + ("Termcap", "Termcap"), + ("Terminfo", "Terminfo"), + ("Terraform", "Terraform"), + ("Text only", "Text only"), + ("Text output", "Text output"), + ("ThingsDB", "ThingsDB"), + ("Thrift", "Thrift"), + ("Todotxt", "Todotxt"), + ("TrafficScript", "TrafficScript"), + ("Transact-SQL", "Transact-SQL"), + ("Treetop", "Treetop"), + ("Turtle", "Turtle"), + ("Twig", "Twig"), + ("TypeScript", "TypeScript"), + ("TypoScript", "TypoScript"), + ("TypoScriptCssData", "TypoScriptCssData"), + ( + "TypoScriptHtmlData", + "TypoScriptHtmlData", + ), + ( + "Typographic Number Theory", + "Typographic Number Theory", + ), + ("UL4", "UL4"), + ("USD", "USD"), + ("Unicon", "Unicon"), + ( + "Unix/Linux config files", + "Unix/Linux config files", + ), + ("UrbiScript", "UrbiScript"), + ("VB.net", "VB.net"), + ("VBScript", "VBScript"), + ("VCL", "VCL"), + ("VCLSnippets", "VCLSnippets"), + ("VCTreeStatus", "VCTreeStatus"), + ("VGL", "VGL"), + ("Vala", "Vala"), + ("Velocity", "Velocity"), + ("VimL", "VimL"), + ("WDiff", "WDiff"), + ("Web IDL", "Web IDL"), + ("WebAssembly", "WebAssembly"), + ("Whiley", "Whiley"), + ("X10", "X10"), + ("XML", "XML"), + ("XML+Cheetah", "XML+Cheetah"), + ("XML+Django/Jinja", "XML+Django/Jinja"), + ("XML+Evoque", "XML+Evoque"), + ("XML+Lasso", "XML+Lasso"), + ("XML+Mako", "XML+Mako"), + ("XML+Myghty", "XML+Myghty"), + ("XML+PHP", "XML+PHP"), + ("XML+Ruby", "XML+Ruby"), + ("XML+Smarty", "XML+Smarty"), + ("XML+UL4", "XML+UL4"), + ("XML+Velocity", "XML+Velocity"), + ("XQuery", "XQuery"), + ("XSLT", "XSLT"), + ("XUL+mozpreproc", "XUL+mozpreproc"), + ("Xorg", "Xorg"), + ("Xtend", "Xtend"), + ("YAML", "YAML"), + ("YAML+Jinja", "YAML+Jinja"), + ("YANG", "YANG"), + ("Zeek", "Zeek"), + ("Zephir", "Zephir"), + ("Zig", "Zig"), + ("aspx-cs", "aspx-cs"), + ("aspx-vb", "aspx-vb"), + ("autohotkey", "autohotkey"), + ("c-objdump", "c-objdump"), + ("cADL", "cADL"), + ("ca65 assembler", "ca65 assembler"), + ("cfstatement", "cfstatement"), + ("cplint", "cplint"), + ("cpp-objdump", "cpp-objdump"), + ("d-objdump", "d-objdump"), + ("dg", "dg"), + ("eC", "eC"), + ("execline", "execline"), + ("g-code", "g-code"), + ("liquid", "liquid"), + ("mozhashpreproc", "mozhashpreproc"), + ("mozpercentpreproc", "mozpercentpreproc"), + ("nesC", "nesC"), + ("objdump", "objdump"), + ("objdump-nasm", "objdump-nasm"), + ("reStructuredText", "reStructuredText"), + ("reg", "reg"), + ("scdoc", "scdoc"), + ("sqlite3con", "sqlite3con"), + ("systemverilog", "systemverilog"), + ("teal", "teal"), + ("tiddler", "tiddler"), + ("ucode", "ucode"), + ("verilog", "verilog"), + ("vhdl", "vhdl"), + ("xtlang", "xtlang"), + ] + ), + ), + ("source", wagtail.blocks.TextBlock()), + ] + ), + ), + ( + "tangent", + wagtail.blocks.StructBlock( + [ + ("name", wagtail.blocks.CharBlock(max_length=64)), + ( + "content", + wagtail.blocks.RichTextBlock( + features=[ + "bold", + "italic", + "ol", + "ul", + "link", + "document-link", + "code", + "strikethrough", + ] + ), + ), + ] + ), + ), + ], + blank=True, + use_json_field=True, + ), + ), + ] diff --git a/website/common/models.py b/website/common/models.py index 51914c1..aad4997 100644 --- a/website/common/models.py +++ b/website/common/models.py @@ -9,6 +9,7 @@ from wagtail.fields import StreamField from wagtail.images import get_image_model_string from wagtail.images.views.serve import generate_image_url from wagtail.models import Page +from wagtail.snippets.models import register_snippet from website.common.utils import count_words from website.contrib.unsplash.widgets import UnsplashPhotoChooser @@ -108,3 +109,17 @@ class ListingPage(BasePage, BaseContentMixin): # type: ignore[misc] self.get_children().live().specific().select_related("hero_image") ) return context + + +@register_snippet +class ReferralLink(models.Model): + url = models.URLField() + name = models.CharField(max_length=64, unique=True) + + panels = [ + FieldPanel("name"), + FieldPanel("url"), + ] + + def __str__(self) -> str: + return self.name diff --git a/website/common/streamfield.py b/website/common/streamfield.py index dde5773..9b17dff 100644 --- a/website/common/streamfield.py +++ b/website/common/streamfield.py @@ -25,6 +25,8 @@ RICH_TEXT_FEATURES = [ "document-link", "code", "strikethrough", + "snippet-link", + "snippet-embed", ] RICH_TEXT_FEATURES_PLAIN = [ diff --git a/website/common/templates/common/referrallink_snippet_link.html b/website/common/templates/common/referrallink_snippet_link.html new file mode 100644 index 0000000..01af643 --- /dev/null +++ b/website/common/templates/common/referrallink_snippet_link.html @@ -0,0 +1 @@ + diff --git a/website/settings.py b/website/settings.py index 9c8ddc3..88f955b 100644 --- a/website/settings.py +++ b/website/settings.py @@ -45,6 +45,7 @@ INSTALLED_APPS = [ "modelcluster", "taggit", "generic_chooser", + "wagtail_draftail_snippet", "django_rq", "django.contrib.admin", "django.contrib.auth",