wordpress / blueprints Goto Github PK
View Code? Open in Web Editor NEWBlueprints gallery and examples
Blueprints gallery and examples
<!DOCTYPE html> <html lang="en"> <head> <meta name="viewport" content="width=device-width" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>WordPress › ReadMe</title> <link rel="stylesheet" href="wp-admin/css/install.css?ver=20100228" type="text/css" /> </head> <body> <h1 id="logo"> <a href="https://wordpress.org/"><img alt="WordPress" src="wp-admin/images/wordpress-logo.png" /></a> </h1> <p style="text-align: center">Semantic Personal Publishing Platform</p> <h2>First Things First</h2> <p>Welcome. WordPress is a very special project to me. Every developer and contributor adds something unique to the mix, and together we create something beautiful that I am proud to be a part of. Thousands of hours have gone into WordPress, and we are dedicated to making it better every day. Thank you for making it part of your world.</p> <p style="text-align: right">— Matt Mullenweg</p> <h2>Installation: Famous 5-minute install</h2> <ol> <li>Unzip the package in an empty directory and upload everything.</li> <li>Open <span class="file"><a href="wp-admin/install.php">wp-admin/install.php</a></span> in your browser. It will take you through the process to set up a <code>wp-config.php</code> file with your database connection details. <ol> <li>If for some reason this does not work, do not worry. It may not work on all web hosts. Open up <code>wp-config-sample.php</code> with a text editor like WordPad or similar and fill in your database connection details.</li> <li>Save the file as <code>wp-config.php</code> and upload it.</li> <li>Open <span class="file"><a href="wp-admin/install.php">wp-admin/install.php</a></span> in your browser.</li> </ol> </li> <li>Once the configuration file is set up, the installer will set up the tables needed for your site. If there is an error, double check your <code>wp-config.php</code> file, and try again. If it fails again, please go to the <a href="https://wordpress.org/support/forums/">WordPress support forums</a> with as much data as you can gather.</li> <li><strong>If you did not enter a password, note the password given to you.</strong> If you did not provide a username, it will be <code>admin</code>.</li> <li>The installer should then send you to the <a href="wp-login.php">login page</a>. Sign in with the username and password you chose during the installation. If a password was generated for you, you can then click on “Profile” to change the password.</li> </ol> <h2>Updating</h2> <h3>Using the Automatic Updater</h3> <ol> <li>Open <span class="file"><a href="wp-admin/update-core.php">wp-admin/update-core.php</a></span> in your browser and follow the instructions.</li> <li>You wanted more, perhaps? That’s it!</li> </ol> <h3>Updating Manually</h3> <ol> <li>Before you update anything, make sure you have backup copies of any files you may have modified such as <code>index.php</code>.</li> <li>Delete your old WordPress files, saving ones you’ve modified.</li> <li>Upload the new files.</li> <li>Point your browser to <span class="file"><a href="wp-admin/upgrade.php">/wp-admin/upgrade.php</a>.</span></li> </ol> <h2>Migrating from other systems</h2> <p>WordPress can <a href="https://developer.wordpress.org/advanced-administration/wordpress/import/">import from a number of systems</a>. First you need to get WordPress installed and working as described above, before using <a href="wp-admin/import.php">our import tools</a>.</p> <h2>System Requirements</h2> <ul> <li><a href="https://www.php.net/">PHP</a> version <strong>7.2.24</strong> or greater.</li> <li><a href="https://www.mysql.com/">MySQL</a> version <strong>5.5.5</strong> or greater.</li> </ul> <h3>Recommendations</h3> <ul> <li><a href="https://www.php.net/">PHP</a> version <strong>7.4</strong> or greater.</li> <li><a href="https://www.mysql.com/">MySQL</a> version <strong>8.0</strong> or greater OR <a href="https://mariadb.org/">MariaDB</a> version <strong>10.5</strong> or greater.</li> <li>The <a href="https://httpd.apache.org/docs/2.2/mod/mod_rewrite.html">mod_rewrite</a> Apache module.</li> <li><a href="https://wordpress.org/news/2016/12/moving-toward-ssl/">HTTPS</a> support.</li> <li>A link to <a href="https://wordpress.org/">wordpress.org</a> on your site.</li> </ul> <h2>Online Resources</h2> <p>If you have any questions that are not addressed in this document, please take advantage of WordPress’ numerous online resources:</p> <dl> <dt><a href="https://wordpress.org/documentation/">HelpHub</a></dt> <dd>HelpHub is the encyclopedia of all things WordPress. It is the most comprehensive source of information for WordPress available.</dd> <dt><a href="https://wordpress.org/news/">The WordPress Blog</a></dt> <dd>This is where you’ll find the latest updates and news related to WordPress. Recent WordPress news appears in your administrative dashboard by default.</dd> <dt><a href="https://planet.wordpress.org/">WordPress Planet</a></dt> <dd>The WordPress Planet is a news aggregator that brings together posts from WordPress blogs around the web.</dd> <dt><a href="https://wordpress.org/support/forums/">WordPress Support Forums</a></dt> <dd>If you’ve looked everywhere and still cannot find an answer, the support forums are very active and have a large community ready to help. To help them help you be sure to use a descriptive thread title and describe your question in as much detail as possible.</dd> <dt><a href="https://make.wordpress.org/support/handbook/appendix/other-support-locations/introduction-to-irc/">WordPress <abbr>IRC</abbr> (Internet Relay Chat) Channel</a></dt> <dd>There is an online chat channel that is used for discussion among people who use WordPress and occasionally support topics. The above wiki page should point you in the right direction. (<a href="https://web.libera.chat/#wordpress">irc.libera.chat #wordpress</a>)</dd> </dl> <h2>Final Notes</h2> <ul> <li>If you have any suggestions, ideas, or comments, or if you (gasp!) found a bug, join us in the <a href="https://wordpress.org/support/forums/">Support Forums</a>.</li> <li>WordPress has a robust plugin <abbr>API</abbr> (Application Programming Interface) that makes extending the code easy. If you are a developer interested in utilizing this, see the <a href="https://developer.wordpress.org/plugins/">Plugin Developer Handbook</a>. You shouldn’t modify any of the core code.</li> </ul> <h2>Share the Love</h2> <p>WordPress has no multi-million dollar marketing campaign or celebrity sponsors, but we do have something even better—you. If you enjoy WordPress please consider telling a friend, setting it up for someone less knowledgeable than yourself, or writing the author of a media article that overlooks us.</p> <p>WordPress is the official continuation of <a href="https://cafelog.com/">b2/cafélog</a>, which came from Michel V. The work has been continued by the <a href="https://wordpress.org/about/">WordPress developers</a>. If you would like to support WordPress, please consider <a href="https://wordpress.org/donate/">donating</a>.</p> <h2>License</h2> <p>WordPress is free software, and is released under the terms of the <abbr>GPL</abbr> (GNU General Public License) version 2 or (at your option) any later version. See <a href="license.txt">license.txt</a>.</p> </body> </html>
Example: #28
Errors:
RequestError [HttpError]: Resource not accessible by integration
at /home/runner/work/_actions/actions/github-script/60a0d83039c74a4aee543508d2ffcb1c3799cdea/dist/index.js:9537:21
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async eval (eval at callAsyncFunction (/home/runner/work/_actions/actions/github-script/60a0d83039c74a4aee543508d2ffcb1c3799cdea/dist/index.js:35424:16), <anonymous>:56:3)
at async main (/home/runner/work/_actions/actions/github-script/60a0d83039c74a4aee543508d2ffcb1c3799cdea/dist/index.js:35522:20) {
status: 403,
response: {
url: 'https://api.github.com/repos/adamziel/blueprints/issues/28/comments',
This might be solved by switching to pull_request_target
automation
and
Run python validate_pr.py
Error: blueprints/wpcli-markdown/blueprints/wpcli-markdown/blueprint.json file does not exist in this PR.
The latter one would be solved by rebasing, but we don't want to require everyone to rebase before merging.
Hello.
I have been experimenting with playground, thanks for building this :-)
I have this blueprint https://github.com/amnestywebsite/humanity-blueprint/blob/main/blueprint.json
https://playground.wordpress.net/?blueprint-url=https://raw.githubusercontent.com/amnestywebsite/humanity-blueprint/main/blueprint.json
Which is trying to install this theme https://github.com/amnestywebsite/humanity-theme/releases
Which has been uploaded here https://github.com/amnestywebsite/humanity-blueprint/blob/main/humanity-theme.zip
The backend editor experience seems to work as I can
When I try to view the post I see a spinning icon and looking at the console while running the blue print gives me the below.
The theme seems to show in the editor
Error: PHP.run() failed with exit code 255 and the following output:
logToConsole @ /worker-thread-d40a8…te-slug=wordpress:1
index.js:222 PHP.run() failed with exit code 255 and the following output: Error: PHP.run() failed with exit code 255 and the following output:
at PHP.run (https://playground.wordpress.net/worker-thread-d40a8ab7.js?wpVersion=6.4&phpVersion=8.2&php-extension=iconv&php-extension=mbstring&php-extension=xml-bundle&php-extension=gd&networking=yes&storage=&site-slug=wordpress:53:1748)
at async PlaygroundWorkerEndpoint.run (https://playground.wordpress.net/worker-thread-d40a8ab7.js?wpVersion=6.4&phpVersion=8.2&php-extension=iconv&php-extension=mbstring&php-extension=xml-bundle&php-extension=gd&networking=yes&storage=&site-slug=wordpress:4:8867)
$o @ index.js:222
index.js:219 Error: PHP.run() failed with exit code 255 and the following output:
at PHP.run (/worker-thread-d40a8ab7.js?wpVersion=6.4&phpVersion=8.2&php-extension=iconv&php-extension=mbstring&php-extension=xml-bundle&php-extension=gd&networking=yes&storage=&site-slug=wordpress:53:1748)
at async PlaygroundWorkerEndpoint.run (/worker-thread-d40a8ab7.js?wpVersion=6.4&phpVersion=8.2&php-extension=iconv&php-extension=mbstring&php-extension=xml-bundle&php-extension=gd&networking=yes&storage=&site-slug=wordpress:4:8867)
$o @ index.js:219
builder.html-f350f1dc.js:5 Error: Error when executing the blueprint step #6 ({"step":"importWxr","file":{"resource":"url","url":"https://raw.githubusercontent.com/amnestywebsite/humanity-blueprint/main/humanitythemeContent.xml"}}) : PHP.run() failed with exit code 255 and the following output:
at Object.run (index.js:8782:32)
at async Sd (index.js:8892:3)
at async Ud (index.js:9255:43)
at async k (builder.html-f350f1dc.js:6:561)Caused by: Error: PHP.run() failed with exit code 255 and the following output:
at PHP.run (/worker-thread-d40a8ab7.js?wpVersion=6.4&phpVersion=8.2&php-extension=iconv&php-extension=mbstring&php-extension=xml-bundle&php-extension=gd&networking=yes&storage=&site-slug=wordpress:53:1748)
at async PlaygroundWorkerEndpoint.run (/worker-thread-d40a8ab7.js?wpVersion=6.4&phpVersion=8.2&php-extension=iconv&php-extension=mbstring&php-extension=xml-bundle&php-extension=gd&networking=yes&storage=&site-slug=wordpress:4:8867)
It would be amazing if I could even get a single post or page to load.
Once I get this working I was planning to submit it to your gallery.
I am able to send a full back up on another channel if that helps?
Thanks,
Let's co-create a Blueprint review checklist for the future reviewers. Here's the initial draft:
If the answer to all these questions is "yes", you can just merge the Pull Request. The gallery will be automatically refreshed by a CI job. You're done!
If the answer to any of these questions is "no":
This simple workflow may suffice. If it doesn't, let's explore:
Let's provide developers with ample examples on how to build Blueprints. One outline is proposed in WordPress/blueprints-library#64
I’d like to see (and maybe start working on) a blueprint that replicates the WordPress devhub for a custom plugin. As a real use-case I’d like to explore creating developer.gatherpress.org with the phpdoc-parser running against the plugin code of GatherPress.
Props for contributing to WordPress is a new concept that enables those who want to contribute an easy way to get started.
Maybe someone is just getting started and don't fully understand Pull Requests in GitHub, maybe they have that one really great idea they want to share, but don't know how to build it.
Let's figure out a way for them to get involved with the Blueprints Community and give credit for their contributions.
In January 2022, a proposal was published on this blog to implement a new process within any GitHub repository under the WordPress organization to ensure anyone and everyone contributing to the project receives due thanks in the form of “props.”
One of the greatest things about open source is that contributions come in many shapes and sizes. Anyone can contribute regardless of skill set, experience, time zone, or background. There are countless ways for someone to get involved with open source projects.
WordPress is no different. Contributors submitting code modifications are only a small subset of the larger community. Recognizing all types of contributions is essential to establishing a healthy contributor base, and the responsibility falls on the project’s maintainers. Contributors who feel recognized and valued are more likely to continue contributing.
I'd like to introduce a proposal to give credit in some way to those who contribute to the Blueprints Community!
The Props Bot is currently only available in the WordPress organization? How to expand props to the Blueprints Community?
Feedback is much appreciate as always 👍
What metadata is useful to keep track of? For now we have:
Would Blueprint version, similar to a plugin version, be useful at all? I'm not sure. Semantic versioning, as in 0.1.17
makes sense for software packages, but it doesn't seem to make sense for Blueprints. Also, contrary to plugins, there is nothing to auto-update after a new Blueprint is released.
Reviewing Blueprints requires manually copying and pasting their contents. Let's add a GitHub automation to provide a convenient link that can be just clicked.
Submitted Blueprints will likely use different formatting styles and a mixture of spaces and tabs. Let's minimize any future discussions about formatting and:
CC @bph
@adamziel I tried to delete the jumbled theme-test branch, but I got a 403 permission errors...
Sorry for making a mess. All I can say is - I learned a lot... and Thank YOU for your patience.
https://raw.githubusercontent.com/WordPress/theme-test-data/trunk/themeunittestdata.wordpress.xml
cc @bph I wonder if it's intermittent or were they actually moved to another repo or directory
In Contributing.md it says:
For example, if you want to load a content-export.xml file and your branch is called woocommerce-subscriptions, then your PR must contain a
A blueprints/woocommerce-subscriptions/blueprint.json file
A blueprints/woocommerce-subscription/content-export.xml file the Blueprint should reference as follows:
{
"steps": [
{
"step": "importWxr",
"file": {
"resource": "url",
"url": "https://raw.githubusercontent.com/adamziel/blueprints/woocommerce-subscriptions/blueprints/woocommerce-subscriptions/content-export.xml"
}
}
]
}
This makes it seem that the branch name and the folder name need to be the same. That doesn't seem to be necessarily the case. If i am correct I would suggest to change the example
That the example branch is called something different than the folder, like /woo-subsriptions/
and the url: is modified to https://raw.githubusercontent.com/adamziel/blueprints/woo-subsriptions/blueprints/woocommerce-subscriptions/content-export.xml
And add another sentence in
The folder of your files would be /woocommerce-subscription
It would read like this
For example, if you want to load a content-export.xml
file,
you create a new folder in the blueprints directory, /woocommerce-subscription (the name should correpong to the name of the blueprint and must hold two files.
A blueprints/woocommerce-subscriptions/blueprint.json file
A blueprints/woocommerce-subscription/content-export.xml file
Your branch you named /woo-subscription/ (this name is up to you)
Then the Blueprint should reference as follows:
"steps": [
{
"step": "importWxr",
"file": {
"resource": "url",
"url": "https://raw.githubusercontent.com/adamziel/blueprints/woo-subscriptions/blueprints/woocommerce-subscriptions/content-export.xml"
}
}
]
}```
Contributing Guidelines say:
All static files (WXR, ZIP, JPG etc.) referenced by the Blueprint must be included in the submitted directory in your Pull Request and referenced via the
raw.githubusercontent.com
domain.
However, it's unclear how to actually reference these files in blueprint.json in a PR. That blueprint can ship URLs pointing to the newly proposed branch, but once that branch is merged these URLs will need to magically start pointing to trunk
.
Two solutions that came to mind:
{ "step": "installPlugin", "pluginZipFile": "./plugin.zip" }
. This would be a breaking change because relative URLs are now relative to the client site URL. Maybe that's fine, though? Or perhaps we could ship a new resource type, like "blueprint-relative-url"?cc @bgrgicak @brandonpayton @dmsnell for ideas
I shipped a slide deck in https://github.com/adamziel/playground-sites, it would be great to turn it into a generic Blueprint folks could run and start building their own slide decks.
Update steps:
While you can submit any Blueprint to this repository, here's a few ideas that would be particularly helpful and people have requested in the past (e.g. in the Add 10 initial Blueprints issue)
Furthermore, the following ideas seem particularly interesting:
Props to @flexseth, @annezazu, @justintadlock, @ryanwelcher, @helgatheviking, and @bph for sharing these!
Recently I was working on a Blueprint from the Gallery, and wasn't sure if I had changed the code or if something wasn't working correctly. If there was a link to more info about the blueprint, that would be helpful!
Suggesting a new meta value, name TBD. Currently the standard is lowercase..
url
link
blueprint-url
blueprint-URI
more-info
origin
The source of truth and more information about the blueprint.
The URL could link to part of a repository for more info or a raw blueprint.json
file (for simpler blueprints)
Run unit, accessibility, and theme review tests
"meta": {
"title": "Theme Ready",
"description": "Runs all theme tests and reports back",
"author": "WP.org Themes Team",
"categories": [
"themes",
"content"
],
"link": "themetest.playground.wordpress.net"
},
"steps": {
...
}
Where themetest.playground.wordpress.net
provides more information about what the blueprint does
A few places they could be sourced from:
Let's add those Blueprints via separate Pull Requests to serve as examples for the publishing guidelines.
Let's include additional static assets with at least one of them to demonstrate how to ship and use those via raw.githubusercontent.com.
Once merged into trunk the path to blueprint folder is
https://raw.githubusercontent.com/{community-blueprints-repo}/blueprints/trunk/{directory}/{filename.ext}
Example
https://raw.githubusercontent.com/adamziel/blueprints/**trunk**/custom-post/book.php
This Blueprints builder could be useful for editing and playing with Blueprints – let's add an "Edit in Builder" link to the gallery:
https://playground.wordpress.net/builder/builder.html
Thinking about it more, it would be useful to support a ?blueprint-url=
query parameter in that builder.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.