### Install Node.js Dependencies and Initialize Omeka S Source: https://github.com/omeka/omeka-s/blob/develop/README.md After cloning, change into the Omeka S directory and install Node.js dependencies, then perform the initial setup. ```bash cd omeka-s npm install npx gulp init ``` -------------------------------- ### Install Chosen with npm Source: https://github.com/omeka/omeka-s/blob/develop/application/asset/vendor/chosen-js/README.md Use this command to install the Chosen library via npm. This is the recommended method for Node.js projects. ```bash npm install chosen-js ``` -------------------------------- ### Install Chosen with Bower Source: https://github.com/omeka/omeka-s/blob/develop/application/asset/vendor/chosen-js/README.md Use this command to install the Chosen library via Bower. Ensure Bower is installed and configured on your system. ```bash bower install chosen ``` -------------------------------- ### Install CKEditor 4 Source: https://github.com/omeka/omeka-s/blob/develop/application/asset/vendor/ckeditor/README.md Install the CKEditor 4 package using npm. This is the first step to integrate the editor into your project. ```bash npm install --save ckeditor4 ``` -------------------------------- ### Install Chosen with Composer Source: https://github.com/omeka/omeka-s/blob/develop/application/asset/vendor/chosen-js/README.md Use this command to install the Chosen library via Composer. This is suitable for PHP projects that manage front-end assets with Composer. ```bash composer require harvesthq/chosen ``` -------------------------------- ### Add Page Template Configuration Source: https://github.com/omeka/omeka-s/wiki/4.1-RC Configure page templates in the theme.ini file. The key is the template name, and the value is the display label. ```ini page_templates.my-template-name = "My page template" ``` -------------------------------- ### Initialization Function Source: https://github.com/omeka/omeka-s/blob/develop/application/asset/vendor/ckeditor/plugins/wsc/dialogs/ciframe.html Initializes the spell-checking process by setting an interval to periodically send data to the master and starting the message listener. ```javascript function onLoad() { interval = window.setInterval( sendData2Master, 100 ); listenPostMessage(); } ``` -------------------------------- ### Get URL Parameter Function Source: https://github.com/omeka/omeka-s/blob/develop/application/asset/vendor/ckeditor/plugins/wsc/dialogs/ciframe.html Retrieves the value of a specified URL parameter from the current window's location. Used to extract command and data from the URL. ```javascript function gup( name ) { name = name.replace( /\\[\\\\]/, '\\\\\\[' ).replace( /\\[\\\\]/, '\\\\\\\\\\]' ) ; var regexS = '[[\\?&]'+ name + '=(\[^&#\]*)' ; var regex = new RegExp( regexS ) ; var results = regex.exec( window.location.href ) ; if ( results ) return results[ 1 ] ; else return '' ; } ``` -------------------------------- ### Add HTML Block Template Configuration Source: https://github.com/omeka/omeka-s/wiki/4.1-RC Configure HTML block templates in the theme.ini file. Prepend the block name to the template name for clarity. ```ini block_templates.html.my-template-name = "My HTML block template" ``` -------------------------------- ### Configure classPrefix Option Source: https://github.com/omeka/omeka-s/blob/develop/application/asset/vendor/ckeditor/plugins/codesnippet/lib/highlight/CHANGES.md Suppress the default 'hljs-' class prefixing by configuring the classPrefix option to an empty string during initialization. ```html ``` -------------------------------- ### Create Zipped Release of Omeka S Source: https://github.com/omeka/omeka-s/blob/develop/README.md Generate a zipped version of Omeka S for distribution. Use the --no-dev flag to exclude Composer dev dependencies for a smaller package. ```bash npx gulp zip --no-dev ```