This repository is a skeletal framework that holds a group of wordpress cusotmizations, collected in a simple Wordpress plugin and at least one Wordpress theme. It also contains a simple bash script, init_distro.sh, that will download and unpack both wordpress and a series of plugins, including especially CCTM – the Custom Content Type Manager plugin – on which our own plugin and themes rely heavily. Finally, it includes a JSON-formatted file containing the definitions for a set of “Custom Post Types” that extend Wordpress’s native capabilities in important ways.
To install the distro simply clone this repository (git clone use-the-url-in-the-bar-above), and then cd into the root directory of the repository and run init_distro.sh:
bash init_distro.sh
The script, which is heavily commented, will download and unpack Wordpress as well as the plugins specified in the file wp-content/uot-vars.php. During the install process, all of the plugins will be activated, and the custom content type definitions activated (can’t load them on install time yet – don’t understand why not!).
- init-distro.sh: This bash script will get all the git submodules (a simple, poorly-written plugin with helper functions, and a similarly poorly-written theme), download wordpress as well as the plugins listed in wp-content/uotvars.php, and add secret keys to wp-config.php.
- wp-content/uotvars.php: keeps variables we will need later in the install process. YOU MUST MODIFY THIS FILE BEFORE RUNNING init-distro.sh !!
- wp-content/var-translator.php: allows the php arrays in uotvars.php to be used by init-disro.sh. Ensures that install.php and init-distro.php get the same set of plugins.
- wp-content/install.php: overwrites the wp builtin function wp_install_defaults to install a more reasonable feature set on initialization.
If you want even more automation, try modifying the simple bash script here.
This is a primitive work-in-progress by a second-rate coder. If you’re interested in helping out, I welcome contributions – please add issues t the github issue queue or clone the repo and submit a pull request. Thanks!