Code Monkey home page Code Monkey logo

blueprints's Introduction

<!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 &#8250; 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">&#8212; 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 &#8220;Profile&#8221; 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&#8217;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&#8217;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&#8217; 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&#8217;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&#8217;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&#8217;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&#8212;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&#233;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>

blueprints's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

blueprints's Issues

CI Checks failing on Pull Requests from forks

Example: #28

CleanShot 2024-04-19 at 17 18 28@2x

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.

Help required importing a custom WordPress theme from GitHub into Playground

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

  1. create a post
  2. add a tile
  3. add a custom block
  4. add data to the custom block

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,

Blueprint review checklist

Let's co-create a Blueprint review checklist for the future reviewers. Here's the initial draft:

How to get started?

  • Subscribe to all the new PRs and issues in this repository to get notifications about new submissions

What to review?

  • New Pull Requests without any labels
  • Pull Requests with a "needs review" label

How to review?

  • Does the PR fulfill the contribution guidelines?
    • It has a dedicated directory for the Blueprint
    • There's only a single Blueprint.json file
    • No files outside of the WordPress/Blueprints repository (or reasonable wp.org URLs) are referenced
    • Does the Blueprint come with a clear title and description?
  • Do the automated GitHub checks pass?
  • Does the Blueprint actually work when previewed? Does it load reasonably fast? Are there any errors in the browser devtools?

What to do next?

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":

  • Leave feedback for the person submitting the Pull Request.
  • Tell them exactly what's wrong and give them tips on how to improve it. Over time we should accumulate a nice "copy&paste" database of those tips to streamline the process.
  • If they reply, re-review.
  • If they don't reply within 14 days, close the PR.

This simple workflow may suffice. If it doesn't, let's explore:

  • Automatically adding "awaiting review" and "needs changes" labels when the PR is created and commented on
  • A project board with columns representing PRs with those labels

WordPress devhub blueprint

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.

Giving Props to Blueprint Community members

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.

From Making WordPress post

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!

Existing limitations

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 👍

Define Blueprint Metadata for Blueprints Gallery v1

What metadata is useful to keep track of? For now we have:

  • Title – A clear and concise name for the Blueprint.
  • Description – A brief explanation of what your Blueprint offers.
  • Author – GitHub username.
  • Categories – for future filtering. Which categories should be allowed? Perhaps this could be omitted from v1 and added later on once there's more Blueprints and some categories emerge naturally.

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.

Consistent Blueprint Formatting

Submitted Blueprints will likely use different formatting styles and a mixture of spaces and tabs. Let's minimize any future discussions about formatting and:

  • Provide formatting guidelines in the contributing docs. Explain how to do spaces vs tabs in popular code editors.
  • The repository could provide a .prettierrc and .eslintrc for folks using local formatters.
  • We could have an automation that automatically applies consistent formatting once a PR is merged.

CC @bph

Delete theme-test branch

@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.

Q: branch vs folder?

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"
			}
		}
	]
}```

Contribution workflow: How to include additional files (e.g. plugin zip) in a PR?

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:

  1. CI job to rewrite the URLs. I don't like it, though. It's extra work and will make forking and adjusting these files more difficult.
  2. Support URLs relative to the Blueprint. For example { "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

Theme tester update

Update steps:

  • replace importFile w/ importWxr step
  • use plugins shorthand notation.
    "plugins": [ debug-bar" , "health-check" , "create-block-theme" , "gutenberg" ]

Tracking: Wanted Blueprints

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)

Highly useful Blueprints

Furthermore, the following ideas seem particularly interesting:

Showcase great WordPress features

  • #46
  • Block hooks example
  • Twenty Twenty with...
    • Block template parts
    • theme.json
    • theme.json and various block options for color limited
    • locked blocks or patterns
    • both theme provided and custom starter patterns, along with patterns prioritized from the pattern directory
    • various block options limited (duotone, color, typography tools) and client side filtering for some blocks
  • Setup for creating a new theme with a create-block-theme plugin

Create Content

  • Generate content with Fakerpress (plugin demo, content)
  • Convert Markdown to WordPress posts (read file via wp-cli)
  • Migrate all Markdown related docs pages to WordPress

Maintenance, Optimization, Configuration

Testing, Debugging

  • Enforce WordPress Coding Standards (use Plugin Review Check)
  • Theme Check plugin
  • Debugging with the Debug Bar plugin
  • Log in as a user with editor role

Learn WordPress JavaScript APIs

  • Working with the datastore (see the course and the existing Blueprint)
    • Get data from WordPress in JavaScript (use hooks)
    • useSelect example
    • Working with a custom datastore

Props to @flexseth, @annezazu, @justintadlock, @ryanwelcher, @helgatheviking, and @bph for sharing these!

Blueprint meta: Add "More Information" type field

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)


Sample

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

Add 10 initial Blueprints

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.

Open questions

  • Should this repository support shipping two Blueprints in a single directory? cc @tellyworth

cc @bph @justintadlock

Add a "Edit in Blueprints Builder" link

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

e.g. https://playground.wordpress.net/builder/builder.html#{%22landingPage%22:%22/wp-admin/%22,%22phpExtensionBundles%22:[%22kitchen-sink%22],%22preferredVersions%22:{%22php%22:%227.4%22,%22wp%22:%225.9%22},%22steps%22:[{%22step%22:%22login%22,%22username%22:%22admin%22,%22password%22:%22password%22}]}

Thinking about it more, it would be useful to support a ?blueprint-url= query parameter in that builder.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.