You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: website/docs/welcome.md
+30-19Lines changed: 30 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,29 +5,40 @@ title: Welcome
5
5
6
6
## Eightshift Development Kit
7
7
8
-
Eightshift Development Kit contains all the tools you need to start building a modern WordPress theme, using all the latest front-end and back-end development tools.
9
-
10
-
Let's brag a little about what you can expect from this setup:
11
-
-**Custom block editor blocks** - Easily use our pre-made, 100% customizable existing block editor blocks & components or create your own. We focus on **dynamic blocks** for developers.
12
-
-**OOP** - All code is written following the latest object-oriented programming paradigms (abstract classes, interfaces, dependency injection, namespacing).
13
-
-**WP-CLI** - Build your application with pre-made features that you can access with a single command using the terminal.
14
-
-**Webpack** - Modern assets & building process that you can customize.
15
-
-**SASS** - Easy-to-learn CSS on steroids.
16
-
-**Autoprefixing** - You don't have to worry if your code will work on older browsers.
17
-
-**JS Compiler (Babel)** - Write JS using the latest features and let Webpack worry about making it work across all browsers.
18
-
-**Synchronised browser testing** - Seamless testing in multiple browsers in parallel by using Browser Sync.
19
-
-**Minifying** - Automatically minifies your production assets (JS / CSS) during the build process.
20
-
-**PHPCS** - Helps you write better code with automatic code linting for PHP, SCSS, and JS.
21
-
-**Easy SASS media queries** - Build your application with easy-to-use media queries that are connected to blocks.
8
+
Eightshift Development Kit is a modern, developer-friendly solution that makes building large, feature-rich WordPress projects painless.
9
+
It contains all the tools you need to start building a modern WordPress theme or plugin, using battle-tested front-end and back-end development tools and practices.
10
+
11
+
### Features
12
+
13
+
The Eightshift Development Kit provides you with a lot of useful features, so let's take a quick look at some of the core ones:
14
+
-**Custom Block Editor blocks** - Using automatic block registration and attribute handling features, building dynamic Gutenberg blocks with the Eightshift Development Kit is a joy. We also provide an extensive library of blocks and components that you can use and customize in your projects.
15
+
-**Dynamic blocks** - The Eightshift Development Kit is focused on supporting dynamic blocks, a type of WordPress blocks that are rendered from attributes instead of being serialized as HTML. Dynamic blocks allow you more flexibility when developing and avoid issues with Gutenberg's validation, ensuring you can ship new features and update existing blocks in record time.
16
+
-**Components** - Extract commonly used parts into _components_. Manage attributes on the component level. Use powerful composition features to build blocks from multiple components, or even multiple instances of them without worrying about attribute registration. It's a game-changer.
17
+
-**The Manifest** - Every block and component has a `manifest.json` file, which is a single source of truth for metadata about your block.
-**OOP** - Object-oriented programming is at the core of the Development Kit. Extend our classes or replace them entirely. Need to build a new WP-CLI command? [There's an abstract class for that.](https://github.com/infinum/eightshift-libs/tree/develop/src/Cli)
20
+
-**DI** - Eightshift Development Kit ships with a dependency injection container set up out of the box.
21
+
-**Code style** - Linters for PHP, JavaScript and SCSS ship out of the box, helping you write better code. Also, all of our code [follows Eightshift Coding Standards](https://github.com/infinum/eightshift-coding-standards/) - consistency assured.
22
+
-**Unit tests** - We use Pest and Jest to run unit tests on our code, catching bugs early.
23
+
-**Great documentation** - Apart from this website, everything in the code is commented and covered with Docblocks.
24
+
-**WP-CLI** - Eightshift Development Kit provides amazing WP-CLI tooling. Import blocks and components from our collection. Build custom commands with ease. Include Development Kit features at will.
25
+
-**Frontend build processes** - Eightshift Development Kit comes with Webpack preconfigured. Tweak it to your needs or keep our defaults - it's up to you. Vendor prefixes? Polyfills? SCSS compilation? Asset minification? All taken care of!
26
+
-**First-class CSS variables** - Forget about conditional classnames: build out CSS variables from attribute values and scope them to a particular block with almost no code.
22
27
-**Cache busting** - Each time you build assets, we generate a new URL for each asset file. This means you'll never see the old cached version while developing or after pushing your code to production.
23
28
29
+
### Parts of the Development Kit
24
30
25
-
To use it, you need to understand what makes this boilerplate tick. It consists of two parts:
31
+
Eightshift Development Kit consists of a few separate projects. It's useful to know what they are, especially if you're contributing to the Development Kit.
Eightshift Libs handles backend functionality and provides backend support for your projects. This includes abstract classes and interfaces for our core features, dependency injection, asset enqueuing, filter & actions and more.
28
35
29
-
This is where all the back-end (PHP) code is kept. Think abstract classes, interfaces, dependency injection, namespacing, asset enqueuing, filter & actions.
Eightshift Frontend Libs houses our frontend code, including various helpers, JavaScript functionality, SCSS styles, and block and component defaults.
32
39
33
-
This is where all the front-end (JS, SCSS, assets, blocks) code is kept.
40
+
#### Boilerplate
41
+
42
+
We provide [boilerplates for themes](https://github.com/infinum/eightshift-boilerplate) and [plugins](https://github.com/infinum/eightshift-boilerplate-plugin/), so you can start building your project right away - without manually setting up the libraries above.
43
+
44
+
The easiest way to set up the Development Kit is to use the `npx create-wp-project` command, which we'll go into further detail about in the following chapters.
0 commit comments