Crosswordsearch is a WordPress plugin for designing and playing wordsearch-style crosswords. It started as a development for RadiJojo.de, the International Children's Media Network.
If you want to use this plugin on your Website, I strongly advise you to load it from the Wordpress Plugin repository.
Only releases will be in a consistent state. Latest:
Crosswordsearch is compatible with Worpress 3.6 and above. It requires PHP 5.3 or above and a MySQL DBMS that supports InnoDB tables.
All modern browsers as well as Internet Explorer 9 and newer are supported. The Gutenberg editor interface requires current browsers, as does Gutenberg itself.
I recommend to create a softlink under the name crosswordsearch in your wordpress plugin
directory pointing at the plugin directory. Copying and renaming the directory will work also,
with the exception of the test data install.
Activating the plugin from the Wordpress administrative interface will
- install three additional database tables
wp_crw_projects,wp_crw_editorsandwp_crw_crosswords, explicitly as InnoDB tables. Make sure your MySQL server supports this engine. - introduce two specialized capabilities:
edit_crosswordwill be given to roles that have themoderate_commentscapability,push_crosswordwill be given to the Subscriber role. These are defaults that can be altered on the Settings/Crosswordsearch adminstrative page.
If your WP installation is in debug mode, additionally some test data will be added to
wp_crw_projects and wp_crw_crosswords. (Debug mode will break if you use a WP version
< 3.8 together with PHP 5.5. This is actually a general issue with class $wpdb. Read
this Blog post for more
information.)
On plugin deactivation, the special roles will be removed, but the data tables are left in place.
See the wiki.
The plugin contains a mechanism for custom theming and a API for consuming solution submissions.
Please refer to http://gruntjs.com/getting-started to get grunt up and running. Running
npm install
in the base directory will install all needed dependencies for the defined tasks. This includes
some Jasmine test dependencies installed in tests/vendor with bower.
The following tasks are available for the development process:
grunt jasminewill build filestests/_SpecRunner-*.htmlthat can run the unit tests intests/unit/in any browser you like (one for the main app and one the shortcode wizzard). It will not run the tests as part of the task.grunt jshint:mainwill lint the files insrc/js/,grunt jshint:specthose intests/unit/grunt uglifywill link the files insrc/js/together asplugin/js/crosswordsearch.jsand minify them asplugin/js/crosswordsearch.min.js. Please note that if you add a new file, you have to list it explicitely inGruntfile.jsto include for linting and uglifying.grunt writel10nwill compilel10n.phpfrom json data that are also used in unit testinggrunt sasswill compile, link and minify the files insrc/css/asplugin/css/crosswordsearch.css.grunt potextracts the localizable strings from theplugin/.phpfiles to theplugin/languages/crosswordsearch.pottemplate.grunt msgmergewill update all.pofiles inplugin/languages/to reflectplugin/languages/crosswordsearch.pot.grunt blockcompiles theblock-editor.jsfrom JSX to es2015-compatible Javascript.grunt msgupdateexecutesblock,potandmsgmergetogether and splits out the strings needed for theblock-editor.jsfrontend file.gruntexecutesjshint:main,uglify,writel10n,cssminandmsgupdatetogether.
