Repository: pure-css/pure
Branch: main
Commit: d35fb6fcbcd8
Files: 94
Total size: 411.3 KB
Directory structure:
gitextract_j5euxoq_/
├── .csslintrc
├── .github/
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug_report.md
│ │ └── feature_request.md
│ ├── PULL_REQUEST_TEMPLATE.md
│ ├── dependabot.yml
│ ├── stale.yml
│ └── workflows/
│ ├── deploy.yml
│ └── test.yml
├── .gitignore
├── .npmrc
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── CREDITS.md
├── Gruntfile.js
├── HISTORY.md
├── LICENSE
├── README.md
├── RELEASE.md
├── composer.json
├── eslint.config.mjs
├── index.js
├── package.json
├── site/
│ ├── .gitignore
│ ├── README.md
│ ├── components/
│ │ ├── CodeBlock.js
│ │ ├── Example.js
│ │ ├── Footer.js
│ │ ├── Header.js
│ │ ├── Menu.js
│ │ └── SectionHeader.js
│ ├── docusaurus.config.js
│ ├── lib/
│ │ ├── pure.js
│ │ └── utils.js
│ ├── package.json
│ ├── src/
│ │ ├── index.js
│ │ ├── pages/
│ │ │ ├── base/
│ │ │ │ └── index.js
│ │ │ ├── buttons/
│ │ │ │ └── index.js
│ │ │ ├── customize/
│ │ │ │ └── index.js
│ │ │ ├── extend/
│ │ │ │ └── index.js
│ │ │ ├── forms/
│ │ │ │ └── index.js
│ │ │ ├── grids/
│ │ │ │ ├── index.js
│ │ │ │ └── styles.css
│ │ │ ├── index.js
│ │ │ ├── layouts/
│ │ │ │ ├── README.md
│ │ │ │ ├── index.js
│ │ │ │ └── styles.css
│ │ │ ├── menus/
│ │ │ │ └── index.js
│ │ │ ├── start/
│ │ │ │ ├── index.js
│ │ │ │ └── styles.css
│ │ │ ├── styles.css
│ │ │ ├── tables/
│ │ │ │ └── index.js
│ │ │ └── tools/
│ │ │ └── index.js
│ │ └── theme/
│ │ └── Layout.js
│ └── static/
│ ├── .nojekyll
│ ├── css/
│ │ └── main.css
│ ├── js/
│ │ ├── grids.js
│ │ ├── menus.js
│ │ ├── track-downloads.js
│ │ └── ui.js
│ └── layouts/
│ ├── blog/
│ │ ├── index.html
│ │ └── styles.css
│ ├── email/
│ │ ├── index.html
│ │ └── styles.css
│ ├── gallery/
│ │ ├── index.html
│ │ └── styles.css
│ ├── marketing/
│ │ ├── index.html
│ │ └── styles.css
│ ├── pricing/
│ │ ├── index.html
│ │ └── styles.css
│ ├── side-menu/
│ │ ├── index.html
│ │ └── styles.css
│ ├── tucked-menu/
│ │ └── index.html
│ └── tucked-menu-vertical/
│ └── index.html
├── src/
│ ├── base/
│ │ └── css/
│ │ └── base.css
│ ├── buttons/
│ │ ├── css/
│ │ │ ├── buttons-core.css
│ │ │ └── buttons.css
│ │ └── tests/
│ │ └── manual/
│ │ └── button.html
│ ├── forms/
│ │ ├── css/
│ │ │ ├── forms-r.css
│ │ │ └── forms.css
│ │ └── tests/
│ │ └── manual/
│ │ └── forms.html
│ ├── grids/
│ │ ├── README.md
│ │ ├── css/
│ │ │ └── grids-core.css
│ │ └── tests/
│ │ └── manual/
│ │ └── responsive.html
│ ├── menus/
│ │ ├── css/
│ │ │ ├── menus-core.css
│ │ │ ├── menus-dropdown.css
│ │ │ ├── menus-horizontal.css
│ │ │ ├── menus-scrollable.css
│ │ │ └── menus-skin.css
│ │ └── tests/
│ │ └── manual/
│ │ └── menus.html
│ └── tables/
│ ├── css/
│ │ └── tables.css
│ └── tests/
│ └── manual/
│ └── tables.html
├── tasks/
│ ├── license.js
│ └── suppress.js
└── test/
└── index.js
================================================
FILE CONTENTS
================================================
================================================
FILE: .csslintrc
================================================
{
"adjoining-classes" : false,
"box-sizing" : false,
"display-property-grouping": false,
"fallback-colors" : false,
"order-alphabetical" : false,
"star-property-hack" : false,
"unqualified-attributes" : false
}
================================================
FILE: .github/ISSUE_TEMPLATE/bug_report.md
================================================
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''
---
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]
**Additional context**
- Pure Version: [e.g. 2.0.0]
Add any other context about the problem here.
================================================
FILE: .github/ISSUE_TEMPLATE/feature_request.md
================================================
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.
================================================
FILE: .github/PULL_REQUEST_TEMPLATE.md
================================================
Please consider the following before submitting a pull request:
Guidelines for contributing: https://github.com/pure-css/pure/blob/main/CONTRIBUTING.md
Example of changes on an interactive website such as the following:
- http://jsbin.com/
- http://jsfiddle.net/
- http://codepen.io/pen/
---
I confirm that this contribution is made under a BSD license and that I have the authority necessary to make this contribution on behalf of its copyright owner.
================================================
FILE: .github/dependabot.yml
================================================
version: 2
updates:
# repository root
- package-ecosystem: npm
directory: "/"
schedule:
interval: daily
open-pull-requests-limit: 10
ignore:
- dependency-name: autoprefixer
versions:
- 10.x
# purecss.io site
- package-ecosystem: npm
directory: "/site"
schedule:
interval: daily
open-pull-requests-limit: 10
groups:
docusaurus:
patterns:
- '@docusaurus/*'
================================================
FILE: .github/stale.yml
================================================
# Configuration for probot-stale - https://github.com/probot/stale
# Number of days of inactivity before an Issue or Pull Request becomes stale
daysUntilStale: 60
# Number of days of inactivity before an Issue or Pull Request with the stale label is closed.
# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.
daysUntilClose: 7
# Only issues or pull requests with all of these labels are check if stale. Defaults to `[]` (disabled)
onlyLabels: []
# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable
exemptLabels:
- pinned
- security
- "[Status] Maybe Later"
- enhancement
# Set to true to ignore issues in a project (defaults to false)
exemptProjects: false
# Set to true to ignore issues in a milestone (defaults to false)
exemptMilestones: false
# Set to true to ignore issues with an assignee (defaults to false)
exemptAssignees: false
# Label to use when marking as stale
staleLabel: wontfix
# Comment to post when marking as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
# Comment to post when removing the stale label.
# unmarkComment: >
# Your comment here.
# Comment to post when closing a stale Issue or Pull Request.
closeComment: >
Issue was closed because of inactivity.
If you think this is still a valid issue, please file a new issue with additional information.
# Limit the number of actions per hour, from 1-30. Default is 30
limitPerRun: 30
# Limit to only `issues` or `pulls`
# only: issues
# Optionally, specify configuration settings that are specific to just 'issues' or 'pulls':
# pulls:
# daysUntilStale: 30
# markComment: >
# This pull request has been automatically marked as stale because it has not had
# recent activity. It will be closed if no further activity occurs. Thank you
# for your contributions.
# issues:
# exemptLabels:
# - confirmed
================================================
FILE: .github/workflows/deploy.yml
================================================
name: Deploy
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js
uses: actions/setup-node@v2
with:
node-version: 20.x
- uses: webfactory/ssh-agent@v0.5.0
with:
ssh-private-key: ${{ secrets.GH_PAGES_DEPLOY }}
- name: Release to GitHub Pages
env:
DEPLOYMENT_BRANCH: main
GH_EMAIL: ${{ secrets.GH_EMAIL }}
GH_NAME: ${{ secrets.GH_NAME }}
GIT_USER: ${{ secrets.GH_NAME }}
USE_SSH: true
run: |
npm ci
git config --global user.name "${GH_NAME}"
git config --global user.email "${GH_EMAIL}"
cd site
npm install
npm run deploy
================================================
FILE: .github/workflows/test.yml
================================================
name: Testing
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js
uses: actions/setup-node@v2
with:
node-version: 20.x
- run: npm ci
- run: npm run lint
- run: npm test
================================================
FILE: .gitignore
================================================
.DS_Store
.nyc_output/
artifacts/
build/
coverage/
node_modules/
release/
================================================
FILE: .npmrc
================================================
================================================
FILE: CODE_OF_CONDUCT.md
================================================
# Contributor Covenant Code of Conduct
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to a positive environment for our
community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
## Scope
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
.
All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series
of actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within
the community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder](https://github.com/mozilla/diversity).
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at
https://www.contributor-covenant.org/translations.
================================================
FILE: CONTRIBUTING.md
================================================
# How to Contribute to Pure
Feel free to [open issues][] and send pull requests on GitHub! When sending a
pull request, please create a new topic/feature branch, and send your pull
request from that branch. Please do _not_ send pull requests from your `main`
branch because this tends to lead to merge conflicts.
In order for us to to merge your pull requests, we need you to review and sign
our [Contributor License Agreement][]. The CLA protects you and your
contributions along with all other developers who use Pure.
[contributor license agreement]: #contributor-license-agreement
[open issues]: https://github.com/pure-css/pure/issues
## Docs and Website
[Pure's website][pure] is located in the `site` directory. Please feel free
to open issues or questions in the Issue tab.
[pure]: http://purecss.io/
[pure-site]: https://github.com/pure-css/pure/tree/main/site
## Building and Testing Pure
Pure uses [Grunt][], a JavaScript task runner that runs on [Node.js][], for
building and testing. You'll need Node.js and Grunt installed to work on Pure.
Once installed, clone the `pure` repo (either the main repo or your fork) and
install Pure's gruntplugins via npm:
```shell
$ git clone git://github.com/pure-css/pure.git
$ cd pure/
$ npm install
```
Building Pure is easy, run `grunt`:
```shell
$ grunt
```
Pure uses [CSSLint][] for basic testing to make sure we're shipping valid CSS
which complies with standard best practices. To run Pure's tests, run
`grunt test`:
```shell
$ grunt test
```
**Note:** To save your fingers from The Developer Konami Code: ⌘⇥ ↑ ⏎ run the
`grunt watch` task with will continuously test and build Pure anytime a CSS file
changes:
```shell
$ grunt watch
```
### Browser Support and Testing
Pure is tested and works in:
- Latest Stable: Edge, Firefox, Chrome, Safari
- iOS 6+
- Android 4.x
Before sending pull requests, please ensure that you open the test HTML files
in these environments. If you don't have access to all these environments, list
the ones that you have tested in on the pull request description. That way, we
know what's missing, and can help you out.
[grunt]: http://gruntjs.com/
[node.js]: http://nodejs.org/
[csslint]: https://github.com/stubbornella/csslint
## Coding Standards and Style Guide
Pure has adopted the [SMACSS][] conventions for writing CSS. If you are new to
SMACSS, you should give it a read, especially the section on [module rules][].
The [Extend][] section of the Pure website more info about the style guide and
naming conventions, along with examples of how to extend the library.
[smacss]: http://smacss.com/
[module rules]: http://smacss.com/book/type-module
[extend]: http://purecss.io/extend/
## Contributor License Agreement
Please [sign the Yahoo CLA][cla] after sending pull requests. We can't merge
your pull requests unless you have a signed CLA.
The CLA ensures that everyone who submits a work of authorship to Pure is
contributing work that is their own or for which they can authoritatively speak.
This protects the all of of developers who use Pure in their daily work, all of
whom rely on Pure's BSD license to appropriately cover their use of the library.
The CLA does **not** transfer title or copyright of your contributed work to
Yahoo!. It merely guarantees that you approve the use of your work within Pure
and by those who use the library under the terms of its license.
If you want to make contributions (software, documentation or other material) to
the Pure Project and such contributions could be covered under intellectual
property laws, you must submit a Contributor License Agreement (CLA) prior to
making your contribution:
1. Review Pure's BSD license. All of Pure's code is issued under this license,
and contributions you make to the library will be subject to this license.
**Note:** that the BSD license is very liberal; it allows for reuse and
adaptation in commercial projects.
2. [Sign the Yahoo CLA][cla] online. If you have questions about the CLA, you
can address them to opensource-cla@yahoo-inc.com.
[cla]: https://yahoocla.herokuapp.com/
================================================
FILE: CREDITS.md
================================================
Normalize.css License
=====================
Copyright (c) Nicolas Gallagher and Jonathan Neal
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
================================================
FILE: Gruntfile.js
================================================
module.exports = function (grunt) {
// -- Config -------------------------------------------------------------------
grunt.initConfig({
nick : 'pure',
pkg : grunt.file.readJSON('package.json'),
// -- Clean Config ---------------------------------------------------------
clean: {
build : ['build/'],
build_res: ['build/*-r.css'],
release : ['release/<%= pkg.version %>/']
},
// -- Copy Config ----------------------------------------------------------
copy: {
build: {
src : 'src/**/css/*.css',
dest : 'build/',
expand : true,
flatten: true
},
release: {
src : '{LICENSE,README.md,HISTORY.md}',
dest: 'build/'
}
},
// -- Concat Config --------------------------------------------------------
concat: {
build: {
files: [
{'build/base.css': [
'node_modules/normalize.css/normalize.css',
'build/base.css'
]},
{'build/buttons.css': [
'build/buttons-core.css',
'build/buttons.css'
]},
{'build/forms-nr.css': [
'build/forms.css'
]},
{'build/forms.css': [
'build/forms-nr.css',
'build/forms-r.css'
]},
{'build/grids.css': [
'build/grids-core.css',
'build/grids-units.css'
]},
{'build/menus.css': [
'build/menus-core.css',
'build/menus-horizontal.css',
'build/menus-dropdown.css',
'build/menus-scrollable.css',
'build/menus-skin.css',
]},
// Rollups
{'build/<%= nick %>.css': [
'build/base.css',
'build/grids.css',
'build/buttons.css',
'build/forms.css',
'build/menus.css',
'build/tables.css'
]},
{'build/<%= nick %>-nr.css': [
'build/base.css',
'build/grids.css',
'build/buttons.css',
'build/forms-nr.css',
'build/menus.css',
'build/tables.css'
]}
]
}
},
// -- PostCSS Config --------------------------------------------------------
postcss: {
options: {
processors: [
require('autoprefixer')()
]
},
dist: {
src: 'build/*.css'
}
},
// -- CSSLint Config -------------------------------------------------------
csslint: {
options: {
csslintrc: '.csslintrc'
},
base : ['src/base/css/*.css'],
buttons: ['src/buttons/css/*.css'],
forms : ['src/forms/css/*.css'],
grids : ['src/grids/css/*.css'],
menus : ['src/menus/css/*.css'],
tables : ['src/tables/css/*.css']
},
// -- CSSMin Config --------------------------------------------------------
cssmin: {
options: {
noAdvanced: true
},
files: {
expand: true,
src : 'build/*.css',
ext : '-min.css'
}
},
// -- Compress Config ------------------------------------------------------
compress: {
release: {
options: {
archive: 'release/<%= pkg.version %>/<%= nick %>-<%= pkg.version %>.tar.gz'
},
expand : true,
flatten: true,
src : 'build/*',
dest : '<%= nick %>/<%= pkg.version %>/'
}
},
// -- License Config -------------------------------------------------------
license: {
normalize: {
options: {
banner: [
'/*!',
'normalize.css v<%= pkg.devDependencies["normalize-css"] %> | MIT License | https://necolas.github.io/normalize.css/',
'Copyright (c) Nicolas Gallagher and Jonathan Neal',
'*/\n'
].join('\n')
},
expand: true,
cwd : 'build/',
src : ['base*.css', '<%= nick %>*.css']
},
yahoo: {
options: {
banner: [
'/*!',
'Pure v<%= pkg.version %>',
'Copyright 2013 Yahoo!',
'Licensed under the BSD License.',
'https://github.com/pure-css/pure/blob/main/LICENSE',
'*/\n'
].join('\n')
},
expand: true,
src : ['build/*.css']
}
},
// -- Pure Grids Units Config ----------------------------------------------
pure_grids: {
default_units: {
dest: 'build/grids-units.css',
options: {
units: [5, 24]
}
},
responsive: {
dest: 'build/grids-responsive.css',
options: {
mediaQueries: {
sm: 'screen and (min-width: 35.5em)', // 568px
md: 'screen and (min-width: 48em)', // 768px
lg: 'screen and (min-width: 64em)', // 1024px
xl: 'screen and (min-width: 80em)', // 1280px
xxl: 'screen and (min-width: 120em)', // 1920px
xxxl: 'screen and (min-width: 160em)', // 2560px
x4k: 'screen and (min-width: 240em)' // 3840px
}
}
}
},
// -- CSS Selectors Config -------------------------------------------------
css_selectors: {
base: {
src : 'build/base.css',
dest: 'build/base-context.css',
options: {
mutations: [{prefix: '.pure'}]
}
}
},
// -- Watch/Observe Config -------------------------------------------------
observe: {
src: {
files: 'src/**/css/*.css',
tasks: ['test', 'suppress', 'build'],
options: {
interrupt: true
}
}
}
});
// -- Main Tasks ---------------------------------------------------------------
// npm tasks.
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-csslint');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-contrib-compress');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-css-selectors');
grunt.loadNpmTasks('@lodder/grunt-postcss');
grunt.loadNpmTasks('grunt-pure-grids');
// Local tasks.
grunt.loadTasks('tasks/');
grunt.registerTask('default', ['test', 'build']);
grunt.registerTask('test', ['csslint']);
grunt.registerTask('build', [
'clean:build',
'copy:build',
'pure_grids',
'concat:build',
'clean:build_res',
'css_selectors:base',
'postcss',
'cssmin',
'license'
]);
// Makes the `watch` task run a build first.
grunt.renameTask('watch', 'observe');
grunt.registerTask('watch', ['default', 'observe']);
grunt.registerTask('release', [
'default',
'clean:release',
'copy:release',
'compress:release'
]);
};
================================================
FILE: HISTORY.md
================================================
# Pure Change History
## 3.0.0 (2022-10-26)
This is a major version bump that has the following changes:
- Removed the `font-family` hack from Grids (#1074)
- IE is no longer supported and all code and documentation references have been removed
- The browserslist configuration has been updated to "> 1%" browser usage. You can use the [browserslist tool](https://browserslist.dev/?q=PiAxJQ%3D%3D) to see which browsers this now covers.
### Migration
This major version should not include too many breaking changes for your app, but please check the following:
- Since the list of supported browsers has now changed, please check that your site is still functioning in any browsers that you continue to support.
- Verify your grids are still functioning correctly with the `font-family` hack still removed. This should not affect you as it was a hack for older browsers.
2.2.0 (2022-10-19)
---
- feat: added media queries for 2.5K and 4K screens (#1065)
2.1.0 (2022-03-14)
---
- feat: support xxl (1920px) media query
2.0.6 (2021-04-28)
---
- chore: update to cssmin@4
2.0.5 (2021-01-20)
---
- fix #824: cursor style for disabled menu link
2.0.4 (2021-01-19)
---
- chore: update license path
2.0.3 (2020-05-11)
---
- fix: update browser list for all environments
2.0.2 (2020-05-11)
---
- refactor: Remove button CSS for IE 6-8
2.0.1 (2020-05-05)
---
- refactor: remove usage of deprecated webkit-overflow-scrolling
2.0.0 (2020-05-05)
---
This is a major version bump that has the following changes:
- Reduced overall size of Pure to 3.6kb (gzipped/min)
- Updated Normalize to v8.
- Removed bower
- Removed old IE 8 hacks
- Removed deprecated `pure-help-inline` form class
### Migration
This major version should not include too many breaking changes for your app, but please check the following:
- Normalize Upgraded from v3 to v8. [Many things have changed](https://github.com/necolas/normalize.css/blob/main/CHANGELOG.md), be sure to verify your site properly.
- Normalize removed the default `font-family`, but we have added to the `base.css` for consistency and due to the fact that the grids system leverages the `font-family` for `letter-spacing`.
### New Browser support
- Chrome
- Edge
- Firefox
- Internet Explorer 10+
- Safari 8+
- Opera
> Deprecated support for < IE 10
## 1.0.1 (2019-07-10)
- Fix "selected" menu item labels in nested menus (#708)
- Fix bug in pure-button active state's border color. (#729)
- Fix horizontal scrollbars not appearing in IE11 and Chrome (#740)
- Fix pure-table-bordered issues (#718)
1.0.0 (2017-06-05)
---
The community has battle-tested Pure and provided valuable feedback. We are now at a place where we can guarantee backwards compatibility through all subsequent 1.x releases.
We hope you have found Pure to be useful and unobtrusive.. To provide feedback, please comment on this GitHub issue, or file a new issue to have it tracked as a separate thread.
## 0.6.2 (2017-01-05)
- Added proper module API for node users [#619]
### Buttons
- Added Button Groups to Pure [#621]
### Menus
- Reset style for horizontal dropdown separator [#620]
0.6.1 (2016-10-12)
---
- Migrate to PostCSS for browser prefixes [#617]
- Remove duplicate Firefox inner focus border [#457]
- Fix grid inside table in IE 10/11 [#504]
- Fix CSSLint issues [#609]
- Upgraded grunt dependencies to 1.x [#609]
0.6.0 (2015-02-07)
---
- Upgraded Normalize.css to 3.0.2.
- Dropped IE7 support.
- Refactored Menus.
- Numerous minor bug fixes.
### Menus
- Implemented flatter, low-specificity selectors, not attached to HTML elements,
for easier customization.
- Removed pure-menu-open class.
- Added pure-menu-scrollable capability, to allow for scrollable menus when
restricted by width or height.
- Added pure-menu-allow-hover to reveal dropdowns on hover.
- Removed various default styling properties, making menus a bit more bare-bones,
a bit less opinionated, a bit easier to customize on top.
- Broke Menu up into files for core, horizontal, dropdowns, scrollable, and skin,
again for improved optimization and ease of customization: take only what you
need.
- Removed Paginator.
- While not part of the Pure repo itself, the accompanying Pure website now
features additional menu examples and an example script for enabling dropdowns
and improved accessiblity.
0.5.0 (2014-05-27)
---
### Base
- Added the `.pure-img` class name for make images scale with the viewport in
fluid layouts.
### Grids
- **[!]** Removed `.pure-g-r` from core, in favor of a mobile-first responsive
grid system. ([#24][], [#267][])
To use the mobile-first grid system, you need to pull in `pure.css`, along
with `grids-responsive.css`. We also have `grids-responsive-old-ie.css` that
you can serve to IE < 9 users so that they can view a desktop-version of your
website:
```html
```
Find out more about the new grid system at