[Docs] Move documentation sources to docs/ and include CONTRIBUTING (#7584)

Rename doc/ to docs/ so GitHub picks up docs/CONTRIBUTING.md and Doxygen keeps including it, and update all references to the old layout:

- Doxygen output now goes to docs-output/, exposed by .gitignore
- docs workflow triggers on docs/** and publishes docs-output/html
- theme submodule moved to docs/doxygen/theme
- schema URLs in both XML parsers point at docs/xsd/
- README, developer docs, desktop workflow filters, .dockerignore and gcovr config updated for the new paths

The v3 card database schema is kept as docs/xsd/cards_v3.xsd.
This commit is contained in:
tooomm 2026-11-07 17:47:10 +01:00 • committed by GitHub
parent 257a584971
commit 0e9ba72924
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
78 changed files with 31 additions and 31 deletions

107
docs/xsd/cards.xsd Normal file
View file

@ -0,0 +1,107 @@
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="relatedType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="count" use="optional" />
<xs:attribute type="xs:string" name="exclude" use="optional" />
<xs:attribute type="xs:string" name="attach" use="optional" />
<xs:attribute type="xs:string" name="persistent" use="optional" />
<xs:attribute type="xs:string" name="facedown" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="setType">
<xs:all>
<xs:element type="xs:string" name="name" minOccurs="1" maxOccurs="1" />
<xs:element type="xs:string" name="longname" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:string" name="settype" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:string" name="releasedate" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:integer" name="priority" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
<xs:complexType name="cardInSetType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="muid" use="optional" />
<xs:attribute type="xs:string" name="uuid" use="optional" />
<xs:attribute type="xs:anyURI" name="picurl" use="optional" />
<!-- permit usage of the old, half-uppercase tag -->
<xs:attribute type="xs:anyURI" name="picURL" use="optional" />
<xs:attribute type="xs:string" name="num" use="optional" />
<xs:attribute type="xs:string" name="rarity" use="optional" />
<xs:attribute type="xs:string" name="flavorName" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="localizationType">
<xs:sequence>
<xs:element type="xs:string" name="name" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:string" name="text" minOccurs="0" maxOccurs="1" />
</xs:sequence>
<xs:attribute type="xs:string" name="lang" use="required" />
</xs:complexType>
<xs:group name="cardPropertyGroup">
<xs:sequence>
<xs:any processContents="skip" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:group>
<xs:complexType name="cardType">
<xs:sequence>
<xs:element type="xs:string" name="name" minOccurs="1"/>
<xs:element type="xs:string" name="text" minOccurs="0" maxOccurs="1" />
<xs:element name="prop" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:group ref="cardPropertyGroup"/>
</xs:complexType>
</xs:element>
<xs:element name="localizations" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element type="localizationType" name="localization" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element type="cardInSetType" name="set" minOccurs="1" maxOccurs="unbounded" />
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element type="relatedType" name="related" minOccurs="0" maxOccurs="unbounded" />
<xs:element type="relatedType" name="reverse-related" minOccurs="0" maxOccurs="unbounded" />
</xs:choice>
<xs:element type="xs:boolean" name="token" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:integer" name="tablerow" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:boolean" name="cipt" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:boolean" name="upsidedown" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:boolean" name="landscapeOrientation" minOccurs="0" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
<xs:element name="cockatrice_carddatabase">
<xs:complexType>
<xs:sequence>
<xs:element name="info" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:all>
<xs:element type="xs:string" name="author" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:string" name="createdAt" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:string" name="sourceUrl" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:string" name="sourceVersion" minOccurs="0" maxOccurs="1" />
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="sets" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element type="setType" name="set" maxOccurs="unbounded" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="cards" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element type="cardType" name="card" maxOccurs="unbounded" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:integer" name="version" fixed="4" />
</xs:complexType>
</xs:element>
</xs:schema>

86
docs/xsd/cards_v3.xsd Normal file
View file

@ -0,0 +1,86 @@
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="relatedType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="count" use="optional"/>
<xs:attribute type="xs:string" name="exclude" use="optional"/>
<xs:attribute type="xs:string" name="attach" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:element name="cockatrice_carddatabase">
<xs:complexType>
<xs:all>
<xs:element name="info" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:all>
<xs:element type="xs:string" name="author" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:string" name="createdAt" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:string" name="sourceUrl" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:string" name="sourceVersion" minOccurs="0" maxOccurs="1" />
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="sets" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="set" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:all>
<xs:element type="xs:string" name="name" minOccurs="1" maxOccurs="1"/>
<xs:element type="xs:string" name="longname" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:string" name="settype" minOccurs="0" maxOccurs="1"/>
<xs:element type="xs:string" name="releasedate" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="cards" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="card" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="name" />
<xs:element name="set" maxOccurs="unbounded" minOccurs="1">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:int" name="muId" use="optional" />
<xs:attribute type="xs:string" name="uuId" use="optional" />
<xs:attribute type="xs:anyURI" name="picURL" use="optional" />
<xs:attribute type="xs:string" name="num" use="optional" />
<xs:attribute type="xs:string" name="rarity" use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element type="xs:string" name="color" minOccurs="0" maxOccurs="5" />
<xs:element type="relatedType" name="related" minOccurs="0" maxOccurs="unbounded" />
<xs:element type="xs:string" name="manacost" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:string" name="cmc" minOccurs="0" maxOccurs="1" default="0" />
<xs:element type="xs:string" name="type" minOccurs="1" maxOccurs="1" />
<xs:element type="xs:string" name="pt" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:integer" name="tablerow" maxOccurs="1" />
<xs:element type="xs:string" name="text" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:boolean" name="cipt" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:string" name="loyalty" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:boolean" name="upsidedown" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:boolean" name="token" minOccurs="0" maxOccurs="1" />
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element type="relatedType" name="related" />
<xs:element type="relatedType" name="reverse-related" />
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
<xs:attribute type="xs:integer" name="version" fixed="3"/>
</xs:complexType>
</xs:element>
</xs:schema>

29
docs/xsd/deck.xsd Normal file
View file

@ -0,0 +1,29 @@
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="cockatrice_deck">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="deckname"/>
<xs:element type="xs:string" name="comments"/>
<xs:element name="zone" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="card" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:int" name="number" />
<xs:attribute type="xs:float" name="price" use="optional"/>
<xs:attribute type="xs:string" name="name" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="name" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:int" name="version"/>
</xs:complexType>
</xs:element>
</xs:schema>