Giter VIP home page Giter VIP logo

csszengarden.com's Introduction

csszengarden.com

The official repo of the CSS Zen Garden.

Pull requests with improvements welcomed, but remember that changes to the HTML file affect the entire archive of 200+ designs. If you're changing the markup, you'll need to commit changes to all designs affected.

If you plan to submit new designs via Github, please create a new branch for your work and submit that as a pull request. Make sure to update masterlist.php and zengarden.xml with entries for your submission. Best to assign your submission a name instead of a number, since those are dependent on publishing order.

If that makes no sense, just use the traditional submission form here: http://www.mezzoblue.com/zengarden/submit/

Using TypeKit

The CSS Zen Garden fully supports TypeKit. To include custom type in your submission, first create a TypeKit account and build a custom kit with the fonts you want to use. Include the Typekit embed code as usual in your local copy of the Zen Garden HTML file for development.

When you are ready to submit your design, you'll need to copy your Typekit Kit ID to your CSS file before you submit. This will ensure that, when your submission is approved, Typekit fonts will continue to work and font usage won't be charged to your personal account. To do this, copy the Kit ID (found in the Kit Editor, under "Embed Code" in the upper right corner) and paste it into a new comment near the top of your CSS file.

/* TYPEKIT_KIT_ID: <kit-id> */

Replace with your Kit ID. For example, if your Kit ID is "vhu0zxe" the resulting comment in your CSS file should be:

/* TYPEKIT_KIT_ID: vhu0zxe */

Once you added the comment you are ready to submit your design to the CSS Zen Garden. If you have any questions about using Typekit with your CSS Zen Garden submission, do not hesitate to contact [email protected].

Running a local copy

Here's an incomplete list of steps for getting a localhost version of this repo up and running. (You're on your own if you're on Windows, most of the actions are relevant but I have no idea what crazy install/config voodoo you'll need to make it work.)

  • Install git if you need to. http://git-scm.org/
  • Copy this repo URL. Find the address bar near the top, select 'ssh', and hit the clipboard icon to the right.
  • Open a terminal window. Use 'cd' to browse to the parent folder you want the repo to exist in. Hit Cmd+V and Return.
  • That'll take a while. While it's downloading, go get and install a localhost server environment like MAMP (http://www.mamp.info/en/index.html) -- or configure your local Apache/PHP if you prefer.
  • You'll want to point your server to the files you've downloaded. In MAMP, open up the Preferences screen, choose the Apache tab, and hit Select to choose a document root location. Point this to the root folder where this repo's files live. If you've done it right you'll be able to point your browser to http://localhost/ and should see a fully navigable version of the CSS Zen Garden.

Submitting Designs

There are two ways to submit a new design. If you're reading this, you're likely comfortable with issuing a pull request from GitHub -- please feel free to do it that way.

Everyone else can just use this submission form: http://www.mezzoblue.com/zengarden/submit/

csszengarden.com's People

Contributors

ajlohman avatar arvinquilao avatar danreedy avatar dieulot avatar eyesofjeremy avatar ffranchina avatar georgezamfir avatar gioele avatar glauberramos avatar grantpalin avatar kyodev avatar manuelosorio avatar mathiasbynens avatar medicalwei avatar mezzoblue avatar mobifydave avatar numericr avatar potch avatar steffenknoeller avatar

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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

csszengarden.com's Issues

Design list - JSON

Currently the design list exists as an array in includes/masterlist.php -- it would be really nice to have it in a universally-available JSON file instead, complete with PHP parsing to load that into the site's back end.

Probably won't get around to it any time soon, so this could be a way to contribute for anyone who could make quick work of it.

(Anyone interested in taking this on ought to wait until the full list is finalized though.)

LICENSE?

The submission guidelines say,

While you retain copyright of your images, submitting a design to the Zen Garden requires open licensing of your CSS file so that your work may be shared, studied, and enjoyed by everyone else.

But which license it is? http://creativecommons.org/licenses/by-nc-sa/3.0/ ? If so, please include a copy in this repo as a LICENSE.txt file :)

OOCSS / SMACSS classes

What would a version of the HTML that closely adheres to OOCSS and/or SMACSS principles look like?

Semantics - where next?

I've converted the site and all existing designs to basic HTML5 semantics -- namely, header, footer, and a few discretionary uses of section and aside. I also killed the reliance on ids by adding better classes across the HTML (though ids remain for the sake of internal links)

How can this be pushed further? Some more divs could be changed to other structural elements like article, but is that necessary? Should heading levels by revised? Open to suggestions here.

Redundant spans - how to remove?

There are a lot of extra spans in the markup -- mainly necessary for the sake of image replacement in the original batch of designs, but no longer needed.

The problem is getting rid of them while maintaining the 218 legacy designs. Ideally their usage could be swapped out for some other image replacement technique (generated content?) then the spans could go away.

The problem is doing this in a way that doesn't involve manually converting 218 designs.

JSON output shouldn’t contain HTML entities

The current JSON output contains HTML entities, which is probably not intended.

This is because includes/masterlist.php includes those entities.

There are two ways to fix this:

  1. Remove the HTML character references from includes/masterlist.php and just use the raw Unicode symbols (why not?)
  2. Monkey-patch the PHP script that generates the JSON, so it automatically replaces those entities with the raw symbols

I’m willing to submit a pull request for either one of these options. Option 1 would be best IMHO, but I’ll leave the decision up to @mezzoblue.

Kill extra classes

The .p1, .p2 etc. classes could probably easily go away with a global find and replace with :first-child, :nth-child(2), etc. up to :last-child.

Polyglot doc - necessary?

Copying & pasting @GaryJones' comment on #1 here:

"One thing that would be worth reading is http://www.w3.org/TR/html-polyglot/ which outlines how to make the code into a polyglot document - one that can be read by HTML and XML parsers (i.e. can be served as HTML5 or the XHTML variant of HTML5). Since the markup is going to be controlled (rather than having user-added content), then it's perfect for something like this.

That would mean keeping in the otherwise optional closing slashes on empty elements (reverting #11)."

Canvas element?

If we're going to showcase the modern web (html5, a/r design, css3/4, object literal JS, etc.), I believe we need to add a blank element into the markup. This would allow designers and JS programmers to really push the edge of animations on the site.

I'm curious if this is worthwhile for the csszengarden.com project because can become an entire programming project within itself and it could move away from having any constancy between projects. But maybe that's the point, to realize, 10 years later, how powerful html5 elements can be and how easily we can manipulate them with JS and CSS3 transitions.

Thoughts?

Sidebar overlaps content on mobile

When on mobile in portrait (I'm on a Nexus 4 in Chrome) the sidebar overlaps the content. Sidebar needs to be moved to bottom or hidden as a "menu".

214: Bugs

An issue to track inevitable bug reports on 214, the new default design. I'll lead with a known one:

  • on a Retina MBP, the design nav overlaps the sidebar accent due to weirdness with the way CSS gradients appear to be calculated

mod_rewrite funkiness

After publishing the new mod_rewrite rules a few previously unnoticed issues have come up.

  • External CSS files have always been permitted for the sake of previewing and testing. They no longer work:

http://www.csszengarden.com/?cssfile=http://www.skybased.com/css-zen-garden/css/screen.css

  • This could be partially addressed by solving the above, but seems like it still might be a separate issue. Designs that rely on the older markup are meant to still be supported with the addition of /legacy/ in the URL. They now break in a slightly different way:

http://csszengarden.com/legacy/?cssfile=http://www.brucelawson.co.uk/zen/sample.css/

Empty Anchor Links

I noticed that in the example HTML file, the href attributes for the links near the bottom, for validation, github, etc, are empty. Not being able to edit the HTML I assume that gets fixed by some build process I'm not aware of? Or are we allowed to fill those in?

Fix the markup

I've taken a first pass at converting the previous XHTML over to HTML5, but there's so much more that can be done here.

Semantics can be improved. Redundant spans will go away. ARIA hooks can be added. It's all up for discussion.

Support csszengarden.com over https

I sometimes want to show the css zen garden HTML based presentations, so I put it in an iframe. But my slides are typically served over https, and embedding an http iframe in an https document is not allowed.

Serving the css zen garden over https in addition to http would be greatly appreciated.

Hopefully, this can easily (and cost free) be done with https://letsencrypt.org/.

Nicer URLs with mod_rewrite

Once upon a time I tried to change the URLs from this:

http://www.csszengarden.com/?cssfile=/045/045.css&page=5

to something this:

http://www.csszengarden.com/045/page5

You can read the entire history and a lot about the syntax we tried 8 years ago (!) here:

http://mezzoblue.com/archives/2005/03/04/rewrite/

Now is probably a good time to take another crack at this.

If you decide to step up, please take a look at the comment thread on that post (you can just read my replies to see where we got and who else to read) before starting. There are some subtleties you should be aware of, this isn't an easy job.

Update the requirements: The browsing public ♥ CSS3

In the requirements section it says:

CSS 3 & 4 should be limited to widely-supported elements only, or strong fallbacks should be provided. The CSS Zen Garden is about functional, practical CSS and not the latest bleeding-edge tricks viewable by 2% of the browsing public.

Only IE 6 - 8 don't support CSS3.

According to StatCounter all (old) IE versions combined have a market share of 10.71 %. And that gives us the information that the browsing public ♥ CSS3.

And as a side note: There is no such thing as CSS4.

extra divs - replace

Slightly more ambitious than killing the superfluous spans -- the extra divs at the bottom could easily be replaced with judicious ::before and ::after usage. The problem is that, like killing the spans, it's another manual job across all 213 designs.

Translations are busted

Three things to do here:

  1. get PHP in line with index.php
  2. update the HTML to match index.php
  3. change tokens to ISO shortcodes, add redirects to .htaccess

2021 Update?

@mezzoblue I remember when CSS Zen Garden came on the scene and over the years, I've moved from a student to a professional to a professor. I've always pointed to CSS Zen Garden to showcase the power of CSS to produce amazing designs (without modifying the HTML).

I recently looked up the project on GitHub and was surprised to see you had moved it here. I'm so glad you have.

Reviewing the latest commits, it looks like while the website stays up (thank you), the project is not maintained.

I'm wondering if you're willing to bring on one or more maintainers to the project to clean up some bugs (like #108) and to hopefully invite the new generation of designers to submit their designs to the project.

I'd like to create a core set of guidelines before anything is done to the project for you to review and sign off on (if you'd like). The base of the guidelines would be not breaking old designs, focusing on open standards, and welcoming new designs.

I'm open to hearing your thoughts on this.

Thank you

Broken Links

Some of the links aren't available. For example when clicking "View all designs". I think all the links which have "http://www.mezzoblue.com" in it aren't online any longer.

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.