]> Lady’s Gitweb - Shushe/commitdiff
Make X·M·L types take priority over plaintext ones
authorLady <redacted>
Thu, 11 Jan 2024 01:20:38 +0000 (20:20 -0500)
committerLady <redacted>
Thu, 11 Jan 2024 01:20:38 +0000 (20:20 -0500)
If `XMLTYPES` defines something as X·M·L, it should be treated as
X·M·L, regardless of whether there is a parser which claims to support
it.

This avoids awkward footguns where a parser might transform and claim
support for (through `@书社:supported-media-types`) an X·M·L dialect,
resulting in ⛩️📰 书社 treating that type as plaintext and wrapping it
in an `<html:script>` element. X·M·L types listed in
`@书社:supported-media-types` should instead not have any effect
(⛩️📰 书社 should not require parsers to reparse X·M·L).

This commit also removes the unused `simpletypes` variable; it was
formerly used for categorization of types into plaintext or asset prior
to the implementation of automatic detection.

GNUmakefile

index 174f340315870e795c32985fa69e854df4c29233..e698262a0b221e79c627b243ca1f97e69417da9e 100644 (file)
@@ -211,20 +211,16 @@ endif
 
 # Get the list of supported plaintext file types from the parser.
 ifneq ($(wildcard $(BUILDDIR)/parser.xslt),)
-override plaintexttypes := $(shell $(XSLTPROC) $(call quote,$(THISDIR)/lib/parser2types.xslt) $(call quote,$(BUILDDIR)/parser.xslt))
+override plaintexttypes := $(filter-out $(XMLTYPES),$(shell $(XSLTPROC) $(call quote,$(THISDIR)/lib/parser2types.xslt) $(call quote,$(BUILDDIR)/parser.xslt)))
 endif
 
-# Simplify the file type by only taking the first component (image,
-# text, ⁊·c).
-override simpletypes := $(shell $(TR) ' ' '\n' <<< $(call quote,$(types)) | $(SED) 's`/[^/]*$$``g')
-
 # (callable) Get all of the files (source and includes) which have the
 # given types.
 override filesoftype = $(foreach type,$1,$(patsubst %?type=$(type),%,$(filter %?type=$(type),$(types))))
 
 # Build up collections of various file types.
-override plaintextfiles := $(call filesoftype,$(plaintexttypes))
-override xmlfiles := $(filter-out $(plaintextfiles),$(call filesoftype,$(XMLTYPES)))
+override xmlfiles := $(call filesoftype,$(XMLTYPES))
+override plaintextfiles := $(filter-out $(xmlfiles),$(call filesoftype,$(plaintexttypes)))
 override assetfiles := $(filter-out $(xmlfiles) $(plaintextfiles),$(sourcefiles) $(sourceincludes))
 
 # (callable) Get the types of the given files.
This page took 0.027025 seconds and 4 git commands to generate.