Coder Social home page Coder Social logo

dx-starter-deprecated's People

Contributors

dependabot[bot] avatar mariyan96 avatar metodiew avatar pgeorgiev avatar silviyaboteva avatar spatovaliyski avatar xavortm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

dx-starter-deprecated's Issues

Update babel setup needed

npm WARN deprecated [email protected]: We're super 😸 excited that you're trying to use ES2015 syntax, but instead of continuing yearly presets 😭 , we recommend using babel-preset-env: npm install babel-preset-env. preset-env without options will compile ES2015+ down to ES5. And by targeting specific browsers, Babel can do less work and you can ship native ES2015+ to users 😎 ! Also, we are in the process of releasing v7, so give http://babeljs.io/blog/2017/09/12/planning-for-7.0 a read and test it! Thanks so much for using Babel πŸ™ , please give us a follow @babeljs for updates, join slack.babeljs.io for discussion and help support at opencollective.com/babel

"/template-parts" is the same as "/partials"

Inside the template-parts folder we have content-* prefixed files. Should we simply delete the /partials dir and use template-parts instead? Plus the partials directory is supposed to hold snippets of markup that are to be added to page templates. So having template-parts sounds more fitting. It has better name than partials and it's used by the original _s theme.

@metodiew PS: GitHub issues ftw :P

Update all packages

We need to update all our packages to their latest versions πŸ”₯and ensure that our workflow remains the same. There are security issues with the outdated npm packages.

In order to deal with all of them we also need to update Gulp to v4.0, which will require a change in the structure of the file and the tasks there.

Allow multiple threads of CSS processing (JS as well) for WP Admin

It would be very useful to support out-of-the-box admin styles minification and processing. Right now if you need to compile a second file other than master.css, you need to add multiple lines. Same for the JS compilation.

Here is an example of what needs to be added for a second thread of css minification and prefixing:

gulp.task("admin-cssmin", function() {
	return gulp
	.src(paths.destination.css + "admin-style.css")
	.pipe(sourcemaps.init({ loadMaps: true }))
	.pipe(cleanCSS({compatibility: 'ie8'}))
	.pipe(rename({ suffix: ".min" }))
	.pipe(sourcemaps.write('./'))
	.pipe(gulp.dest(paths.destination.css))
	.pipe(notify({ message: "Successfully minified admin-styles.min.css",onLast: true }))
});

...

// The files to be watched for minifying. If more dev js files are added this
// will have to be updated.
gulp.task("watch", function() {
	...
	gulp.watch(paths.destination.css + "admin-style.css", gulp.series("admin-cssmin"));
});

...

// What will be run with simply writing "$ gulp"
gulp.task("default",
	gulp.series("sass",
		gulp.parallel(
			"minifyScripts",
			"cssmin",
			"admin-cssmin",
			"optimizeImages"
		),
		"watch"
	)
);

Update coding standards, update _s base structure

We have based the DX Starter on underscores and added some general functionality and lot's of SCSS changes. But since there is still plenty that remains similar to _s, the idea is to view the most recent version of _s and apply any improvements in DX Starter.

Ideally with this also define prettify and editor configs to guide IDEs in our standards. This is not related to PHPCS though

Create ZIP generator script

We can use Node for this. I imagine the generate script to look like this:

$ node generate-zip

Which will output a theme-name-v1.0.0.zip file in wp-content/themes. When you bump the theme's version in style.css to v1.1.0 for example - generate new file with that version as suffix. If the version has not been updated simply overwrite the existing ZIP file.

Most important - when generating the ZIP file ignore:

  • node_modules/
  • assets/sass
  • tests/
  • all hidden files like .git, .DS_Store, .gitignore, .editorconfig and so on, including sass cached files or any other cached files/folders starting with a dot.
  • gulpfile.js
  • package.json
  • README.md

as these files are not required from WordPress.org

Future version: add flag -build for the script that will not ignore tests/, assets/sass, gulpfile.js and package.json so that the people using the theme can continue development.

Fix font builder

The fonts from the source are not transferred to dist. In addition to this, the fonts are different and we need to update Font Awesome to it's latest version.

Bonus points if we integrate it in the build setup from node_modules so that we can update them easily.

Add current page slug in body classes

It would be very nice to have the page slug outputted in the body tag. With this, developers can easily target specific page without relying on IDs as they are not as dependable.

Need to update README file.

Hey @xavortm,
I was following the instructions in the README file and in section Updating installed Node.js is trough NPM: I encountered a command (sudo npm cache clean -f) which I need to run in my console.
After doing that, I received an error with the following message:
/usr/bin/env: β€˜node’: No such file or directory
Also, there is a typo in the naming of the section.
Best Regards!

Add .page-loaded class to the body tag

You've added this class to one of our projects and it was a really smart idea.
Let's add this one to our starter theme .page-loaded class to the <body>

Generate theme per project

We will need the ability to define basic properties of the theme. Meaning: Name, Author, Description, Text Domain etc.

This could be a basic gulp task for setup or NPM script for setup, must see what is the best solution. With it we can have a basic questionary for different features if they are needed - FontAwesome, Foundation, Prebuilds and such.

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.