Extension:Appropedia contains all PHP code specific to Appropedia.
Many features that were developed specifically for Appropedia have been turned into standalone extensions. However, some features are so specific that cannot be turned into extensions, so we clump them all together in this extension:
- AppropediaCategories - Handles automatic categorization for Appropedia's admin panel
- AppropediaMessages - Handles custom interface messages, most of which are localized from Appropedia's project at TranslateWiki
- AppropediaNavigation - Customizes Appropedia's sidebar and footer
- AppropediaPDF - REST API endpoint that returns a PDF containing a specified set of pages, using the wkhtmltopdf library
- AppropediaOKH - REST API endpoint that returns a YAML file containing the Open Know How Manifest for a given project
- AppropediaSearch - Customizes Appropedia's UX/UI at Special:Search
- AppropediaWikitext - Forces Appropedia's wikitext conventions after every edit (like adding {{Page data}} to content pages)
This extension also contains Appropedia's custom Lua library, which exposes some data to Appropedia's custom Lua module:
- emailDomain - Returns the email domain of a given user
- fileUses - Returns the number of uses of a given file
- pageCategories - Returns the categories of a given page
- pageExists - Checks wether a given page exists
Finally, it contains a few custom maintenance scripts:
- addLicense - Adds a license to {{Page data}} according to the year when the page was created
- deleteBrokenRedirects - Deletes all broken redirects
- deleteDuplicateFiles - Deletes all duplicate files
- fixWikitext - Forces Appropedia's wikitext conventions on all pages
- generateKiwixList - Generates kiwix.tsv for use by the Kiwix scraper.
- generateOpenKnowHowManifests - Generates an Open Know How Manifest for each project in Appropedia as well as an index for use by scrapers
- removeDisplayTitle - Remove the "title" parameter from {{Page data}} when it is identical to the real title of the page