{"id":27373827,"url":"https://github.com/johnnyhuy/jhuy-wordpress-theme","last_synced_at":"2026-04-27T16:32:30.063Z","repository":{"id":122634668,"uuid":"109238214","full_name":"johnnyhuy/jhuy-wordpress-theme","owner":"johnnyhuy","description":"My first WordPress theme.","archived":false,"fork":false,"pushed_at":"2024-05-05T06:28:04.000Z","size":9773,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-08T19:38:13.571Z","etag":null,"topics":["npm","php","sass","wordpress","wordpress-theme"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/johnnyhuy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-11-02T08:34:55.000Z","updated_at":"2024-05-05T06:28:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"1b2cbdad-8cf6-4967-b0df-109a6ef63b2b","html_url":"https://github.com/johnnyhuy/jhuy-wordpress-theme","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/johnnyhuy/jhuy-wordpress-theme","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnnyhuy%2Fjhuy-wordpress-theme","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnnyhuy%2Fjhuy-wordpress-theme/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnnyhuy%2Fjhuy-wordpress-theme/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnnyhuy%2Fjhuy-wordpress-theme/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/johnnyhuy","download_url":"https://codeload.github.com/johnnyhuy/jhuy-wordpress-theme/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnnyhuy%2Fjhuy-wordpress-theme/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32345802,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T23:26:28.701Z","status":"online","status_checked_at":"2026-04-27T02:00:06.769Z","response_time":128,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["npm","php","sass","wordpress","wordpress-theme"],"created_at":"2025-04-13T11:28:57.364Z","updated_at":"2026-04-27T16:32:30.032Z","avatar_url":"https://github.com/johnnyhuy.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# jHuy WordPress Theme\n\nThis is my first WordPress theme created for my personal website at [johnnyhuy.com](http://johnnyhuy.com).\n\n## Todo\n\n- Release build (.zip) for normal upload installation. This build will have prebuilt assets.\n\n## Development\n\nThis project uses the Node package manager to build assets such as Sass. I've also included a VSCode setting to enable php-cs a Code-Sniffer to follow the WordPress standard to further add consistancy in code.\n\nThis is an open source project so please feel free to add changes.\n\n### Prerequisites\n\n- NodeJS LTS or v 8.9.0+\n- WordPress\n- Directory access to WordPress content (e.g. FTP)\n\n### Installation\n\n***1. Get this theme***\n\nDownload this theme from this repository from the root directory and place in your WordPress `wp-content/themes` folder.\n\n***2. Build assets with Node npm scripts***\n\nSince this project relies on npm packages, packages need to be install and assets need to be compiled. Run the following commands in sequential order.\n\nChange directory to root of jHuy theme where `package.json` exists.\n\nInstall Node packages.\n\n```\n$ npm i\n```\n\nBuild assets for development/production\n\n\n**(Recommended)** Development: build with server\nThis is required to have hot-swapping and live reloading for development use. It uses the webpack dev server with a proxy to a main host (e.g. WAMP or LAMP setup).\n\n```\n$ npm run dev\n```\n\nDevelopment: build without server\n\n```\n$ npm run dev-no-server\n```\n\nProduction\n\n```\n$ npm run prod\n```\n\n***3. Select theme***\n\nGo to your WordPress and select the theme `jHuy`.\n\n### Webpack Asset Environment\n\nMost assets are compiled through the Webpack package including such files:\n\n- Theme CSS `src/sass/init.scss` to `style.css`\n- Theme JS `src/js/init.js` to `assets/js/head.js` and `assets/js/bundle.js`\n- Theme settings CSS `src/scss/admin.scss` to `assets/css/admin.css`\n- Theme settings JS `src/js/admin.js` to `assets/js/admin.js`\n\n***Production Use (build to release)***\n\nWhen building for production use, run `npm run prod` to build from `webpack.prod.js`. This confirguration minifys and extracts CSS from the JS files (includes placing theme styling in `style.css`).\n\n### Testing\n\nI have added [Codeception](http://codeception.com) as the testing framework of choice for this project. The following instructions will demonstrate running and writing tests in regard to the theme. For any further documentation visit these links:\n\n- [Codeception WordPress Quick Start](http://codeception.com/for/wordpress)\n- [Codeception Documentation Introduction](http://codeception.com/docs/01-Introduction)\n\n***Prerequisites***\n\nThese are the requirements that have been tested. Composer packages can be install with `composer install` at the root theme directory.\n\n- MySQL 14.14+ (running instance with access to database)\n- PHP 7.1+\n- [Codeception](http://codeception.com)\n- [WPBrowser](http://codeception.com/for/wordpress)\n\n***Running Tests***\n\n***1. Initialize WPBrowser***\n\nRun `vendor/bin/codecept init wpbrowser` to create a template generated by WPBrowser. Some notes worth knowing before running the command:\n\n- When prompt for the location of WordPress installation, use full path directory (e.g. /Users/johnny/wordpress not ~/wordpress)\n- Once template is created, check if the test database is set to the proper test database name\n- Create a `dump.sql` file at `tests/_data` directory (can be empty)\n\n***2. Run Tests***\n\nRunning tests can be done with the following commmand:\n\n```\n$ vendor/bin/codecept run\n```\n\nRunning specific tests suites (exclude square brackets and use a single option e.g. `codecept run wpunit`):\n\n```\n$ vendor/bin/codecept run [unit|wpunit|functional|acceptance]\n```\n\n***Writing Tests***\n\nThese instructions assume test suites are unit, wpunit, functional, acceptance. Use the following commands to generate test cases in regard to their test suites:\n\nCreate a WordPress unit test:\n\n```\n$ vendor/bin/codecept g:wpunit wpunit ExampleTest\n```\n\nCreate a scenario test (exclude square brackets and use a single option e.g. `codecept g:cest acceptance ExampleTest`):\n\n```\n$ vendor/bin/codecept g:cest [functional|acceptance] ExampleTest\n```\n\n***WordPress Unit Test Suite Requirements***\n\nModules:\n\n- WPLoader\n\nExample Config (exclude square brackets and replace with relevant information):\n\n```\nactor: WpunitTester\nmodules:\n    enabled:\n        - WPLoader\n        - \\Helper\\Wpunit\n    config:\n        WPLoader:\n            wpRootFolder: [ROOT WORDPRESS INSTALLATION FOLDER]\n            dbName: [DATABASE NAME]\n            dbHost: [DATBASE HOST]\n            dbUser: [DATBASE USERNAME]\n            dbPassword: [DATABASE PASSWORD]\n            tablePrefix: \"wp_\"\n            domain: [WORDPRESS HOSTNAME]\n            adminEmail: [WORDPRESS ADMIN EMAIL]\n            title: [WORDPRESS TITLE]\n            theme: jhuy\n            plugins: ['']\n            activatePlugins: ['']\n```\n\n***Functional Test Suite Requirements***\n\nModules:\n\n- WPDb\n- WordPress\n- WPLoader\n\nExample Config (exclude square brackets and replace with relevant information):\n\n```\nactor: FunctionalTester\nmodules:\n    enabled:\n        - WPDb\n        - WordPress\n        - Asserts\n        - \\Helper\\Functional\n        - WPLoader\n    config:\n        WPDb:\n            dsn: 'mysql:host=[DATBASE HOST];dbname=[DATABASE NAME]'\n            user: [DATABASE USERNAME]\n            password: [DATABASE PASSWORD]\n            dump: 'tests/_data/dump.sql'\n            populate: true\n            cleanup: true\n            url: [WORDPRESS ROOT URL]\n            urlReplacement: true\n            tablePrefix: 'wp_'\n        WordPress:\n            depends: WPDb\n            wpRootFolder: [ROOT WORDPRESS INSTALLATION FOLDER]\n            adminUsername: [WORDPRESS ADMIN USERNAME]\n            adminPassword: [WORDPRESS ADMIN PASSWORD]\n            adminPath: '/wp-admin'\n        WPLoader:\n            loadOnly: true\n            wpRootFolder: [ROOT WORDPRESS INSTALLATION FOLDER]\n            dbName: [DATABASE NAME]\n            dbHost: [DATBASE HOST]\n            dbUser: [DATABASE USERNAME]\n            dbPassword: [DATABASE PASSWORD]\n```\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnnyhuy%2Fjhuy-wordpress-theme","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohnnyhuy%2Fjhuy-wordpress-theme","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnnyhuy%2Fjhuy-wordpress-theme/lists"}