diff --git a/.github/hookdoc-tmpl/README.md b/.github/hookdoc-tmpl/README.md
new file mode 100644
index 00000000..4481cbad
--- /dev/null
+++ b/.github/hookdoc-tmpl/README.md
@@ -0,0 +1,7 @@
+# Welcome to the Ultimate Member Plugin Hook Documentation
+
+This resource is generated documentation on actions and filters found in the [Ultimate Member](https://wordpress.org/plugins/ultimate-member/) plugin. Use the sidebar to browse and navigate.
+
+For more information about using Ultimate Member with WordPress, please see the [Ultimate Member Docs](https://docs.ultimatemember.com/).
+
+To report an issue with Ultimate Member, please visit the [Support forum](https://wordpress.org/support/plugin/ultimate-member/).
diff --git a/.github/hookdoc-tmpl/layout.tmpl b/.github/hookdoc-tmpl/layout.tmpl
new file mode 100644
index 00000000..411c75fa
--- /dev/null
+++ b/.github/hookdoc-tmpl/layout.tmpl
@@ -0,0 +1,46 @@
+
+
+
+
+ - Ultimate Member Hook Docs
+
+
+
+
+
+
+
+
+
+
+
+ class="home">
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.github/hookdoc-tmpl/static/styles-um.css b/.github/hookdoc-tmpl/static/styles-um.css
new file mode 100644
index 00000000..ed86c3c8
--- /dev/null
+++ b/.github/hookdoc-tmpl/static/styles-um.css
@@ -0,0 +1,98 @@
+body {
+ background: #fefefe;
+ color: #232323;
+ font-family: 'IBM Plex Sans', sans-serif;
+ font-size: 1.3rem;
+ font-weight: 300;
+}
+
+h1, h2, h3 {
+ line-height: 1.2;
+ font-family: 'Playfair Display', sans-serif;
+ font-weight: 900;
+ letter-spacing: -.01em;
+}
+
+h1.page-title {
+ font-size: 42px;
+ margin-top: .5em;
+}
+
+nav ul {
+ font-size: 1.2rem;
+}
+
+nav li a {
+ background-image: none;
+}
+
+nav li a:hover {
+ text-decoration: underline;
+}
+
+code, pre,
+nav ul a, nav ul a:visited, nav ul a:active,
+.name, .signature,
+.params .name, .props .name,
+.name code {
+ font-family: 'IBM Plex Mono', monospace;
+}
+
+article h1 {
+ margin: 12px 0 32px;
+}
+
+a {
+ background-image: linear-gradient(transparent calc(100% - 7px), #f2dede 0),
+ linear-gradient(transparent calc(100% - 7px), #cef8f7 0);
+ background-position: 0 0;
+ background-repeat: no-repeat;
+ background-size: 0 100%, 100% 100%;
+ color: #232323;
+ text-decoration: none;
+ transition: all .1s;
+}
+
+a:visited,
+a:active {
+ color: #232323;
+}
+
+a:focus,
+a:hover {
+ background-size: 100% 100%, 100% 100%;
+ color: #232323;
+ text-decoration: none;
+}
+
+a.banner {
+ background-image: none;
+ margin-left: -10px;
+}
+
+a.banner img {
+ width: 100%;
+ max-width: 888px;
+}
+
+footer {
+ text-align: center;
+ font-size: .8em;
+ font-style: normal;
+ font-weight: 300;
+}
+
+.home #main > section:first-of-type,
+.home nav > h2 {
+ display: none;
+}
+
+.prettyprint.source {
+ font-size: 14px;
+}
+
+.prettyprint code {
+ padding: 2px 10px;
+ line-height: 16px;
+ height: 16px;
+}
diff --git a/composer.json b/composer.json
index e309c5c1..9b5aae8f 100644
--- a/composer.json
+++ b/composer.json
@@ -6,6 +6,12 @@
"license": "GPL-3.0-or-later",
"minimum-stability": "stable",
"prefer-stable": true,
+ "config": {
+ "allow-plugins": {
+ "symfony/flex": true,
+ "dealerdirect/phpcodesniffer-composer-installer": true
+ }
+ },
"require": {
"ext-mbstring": "*",
"ext-json": "*",
@@ -18,7 +24,7 @@
"woocommerce/action-scheduler": "3.2.1"
},
"require-dev": {
- "roave/security-advisories": "dev-master",
+ "roave/security-advisories": "dev-latest",
"wp-cli/wp-cli": "*",
"dealerdirect/phpcodesniffer-composer-installer": "^0.7.1",
"object-calisthenics/phpcs-calisthenics-rules": "*",
diff --git a/hookdoc-conf.json b/hookdoc-conf.json
new file mode 100644
index 00000000..5e3a6944
--- /dev/null
+++ b/hookdoc-conf.json
@@ -0,0 +1,31 @@
+{
+ "opts": {
+ "destination": "docs/hooks",
+ "template": "node_modules/wp-hookdoc/template",
+ "recurse": true,
+ "readme": "./.github/hookdoc-tmpl/README.md"
+ },
+ "source": {
+ "include": [
+ "./"
+ ],
+ "exclude": [
+ "node_modules"
+ ],
+ "includePattern": ".+\\.(php)?$"
+ },
+ "plugins": [
+ "node_modules/wp-hookdoc/plugin",
+ "plugins/markdown"
+ ],
+ "templates": {
+ "default": {
+ "layoutFile": "./.github/hookdoc-tmpl/layout.tmpl",
+ "staticFiles": {
+ "include": [
+ "./.github/hookdoc-tmpl/static"
+ ]
+ }
+ }
+ }
+}
diff --git a/package.json b/package.json
index ce1525b8..d08fe57d 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,11 @@
{
- "name": "roots",
- "version": "7.0.3",
- "author": "Ben Word ",
+ "name": "ultimate-member",
+ "version": "2.6.3",
+ "author": {
+ "name": "Ultimate Member",
+ "email": "team@ultimatemember.com",
+ "url": "https://ultimatemember.com"
+ },
"homepage": "http://roots.io",
"repository": {
"type": "git",
@@ -17,7 +21,7 @@
}
],
"scripts": {
- "postinstall": "node node_modules/bower/bin/bower install && grunt dev",
+ "build:docs": "rm -rf docs/hooks/ && jsdoc -c hookdoc-conf.json",
"build": "npm-run-all build:*",
"build:all-blocks": "npm-run-all --parallel build-block-*",
"build-block-um-member-directories": "cd includes/blocks/um-member-directories && wp-scripts build src/index.js",
@@ -36,6 +40,8 @@
"gulp-sass": "^5.1.0",
"gulp-uglify": "^3.0.2",
"gulp-clean-css": "^4.3.0",
+ "jsdoc": "~4.0.2",
+ "wp-hookdoc": "^0.2.0",
"npm-run-all": "^4.1.5",
"@wordpress/block-editor": "^11.5.0",
"@wordpress/blocks": "^12.5.0",
@@ -45,6 +51,7 @@
"@wordpress/server-side-render": "^4.5.0"
},
"dependencies": {
- "react": "^18.2.0"
+ "react": "^18.2.0",
+ "taffydb": "^2.7.3"
}
}
diff --git a/phpdoc.dist.xml b/phpdoc.dist.xml
new file mode 100644
index 00000000..2fb02cab
--- /dev/null
+++ b/phpdoc.dist.xml
@@ -0,0 +1,25 @@
+
+
+ Ultimate Member - PHPDoc
+
+ docs/phpdoc
+ docs/phpdoc/cache
+
+
+ latest
+
+
+ includes
+ templates
+
+
+ php
+
+
+
+
+