5 ms·
Fixie.js - Automatic filler content for HTML documents.
- teuobk 14y agoThis looks pretty cool. It would be a great companion to http://placehold.it http://placehold.it (which fills a similar role for images).
- dag11 14y agoIt uses placehold.it, actually: http://ryhan.me/fixie/sample.html http://ryhan.me/fixie/sample.html
- kwamenum86 14y agoDepending on what browsers you're supports it's probably far easier to use generated content (:before, :after). Maybe combined with calc or CSS expressions.
- rthprog 14y agoSure, but it's hard to get a variety of content in that way. If you have a paragraph that begins with lorem ipsum over and over again, you'll quickly notice.
- taitems 14y agoThen add some :nth-of-type() wizardry to it.
- rthprog 14y agoGood point. While there are some situations where that makes more sense, doing that for things like paragraphs is kind of silly - you're just moving junk copy to your CSS. You either have a giant CSS file, or some rather repetitive paragraphs.
- taitems 14y agoWell then you set your range to repeat fairly often. The issue at hand is repetition of paragraphs that start with "Lorem ipsum". All you have to do is break the repetition enough for the eye to be fooled. And in regards to CSS, I'd argue it's probably even smaller to include fixie.css than fixie.js, and it would be non-blocking.
- deleted 14y ago[deleted]
- abrichr 14y agoI can't remember the number of times I've wished for something like this. I'll be sure to check it out for the next web project :)
- kailashbadu 14y agoLike it. The only nuisance is the class attribute you have to repeat across all tags that you need to fill in.
- rthprog 14y agoOn a side note, you can now change the class name to whatever you want (thanks Luke Holder via github).
- jberryman 14y agoWhat is the better alternative?
- kailashbadu 14y agodon't know. But the smart folk behind should be able to figure something out.
- tolmasky 14y agoJust auto-filling all <p>'s and <h_>'s might be an interesting option. You could also have the API allow you to list tag names to be auto-filled. It can even be smart and first check whether the tag in question already contains text content, and if it doesn't, only then auto-fill it.
- rthprog 14y agoI considered doing that, but the problem is that I've noticed that some people use <p> tags as breaks between paragraphs. Requiring a class makes sure that the developer/designer knows where their filler content is going.
- grey-area 14y agoIf you're going to require classnames anyway, it might be more flexible to use those to define the type of content to insert. Personally I'd prefer adding a simple bit of js to a page to define the fixie behaviour, something like : fixie.fill('.my_header_class','head'); fixie.fill('#my_id','paragraphs'); etc, as otherwise I have to have a special layout with lots of 'fixie' everywhere and perhaps a special structure using certain tags in order to use the js, and can't define what sort of content goes where except by changing the type of html element which contains it. I'd prefer to start with an html document which has already been made, and consider how to add fixie to it in the least obtrusive way - and how to remove it later when it was not required, without impacting the document structure or classes etc at all. So if I can add a bit of js which adds fixie in an unobtrusive way to any existing page, and then remove it by simply commenting out that js, that would be preferable to having to set up a special template just to use fixie, or having to consider fixie use from the start. Fixie should really IMHO adapt to the html it is used on, not force that html to be adapted to it.
- SirensOfTitan 14y agoVery cool. However, I don't particularly like the fact that I need to add a class to each applicable container. Maybe a configuration file that allows for selection of specific classes/ids instead?
- minikomi 14y agoThought this might be something like http://jsfiddle.net/MNFV8/1/ http://jsfiddle.net/MNFV8/1/ but I like the addition of the paragraph generators too.
- duopixel 14y agoI dislike using lorem ipsum or other non-sensical text for mockups, but I admit that it fills a very real need for designing content-centric websites when the content isn't ready yet. I've encountered just too many cases where the design looks great as a mock-up but when you start plugging in real data the layout start breaking apart, either because the content is too short, too long, or the designer didn't consider long usernames. My dream for a filler content generator would be a large database of real content types, so you would have a list of real twitter handles, facebook names, blog post titles, world news articles and so on. You could then do stuff like h1 class="fixie worldnews title" or class="fixie twitter username". Designers often argue that the purpose of Lorem Ipsum is to help the client focus on the look and not the content. I think this posture is wrong because you need the client thinking about content as early as posible. Front-end developers also need the randomness of real world data to test the sturdiness of their layouts and account for edge cases as early as posible.
- rthprog 14y agoAgreed, lorem ipsum can become a crutch - good copy is integral for good design. That said, this script will give you random length paragraphs, articles, and what not, giving you some room to test your layout, and makes it easy to throw in temporary content until you've written something yourself.
- wattjustin 14y agoIf we can get Samuel L. Ipsum integrated, I'm in. Either way, I think this is great if for no other reason than the amount of time it will save.
- splatzone 14y agoWould you object if I tried to implement this? Seems like a fun weekend project.
- duopixel 14y agoNo objection at all, I'd be willing to design the landing page if you come around to implementing this :)
- stephenhandley 14y agoawesome. maybe an alternative api would be to allow for something like fixie.init([".array", "#of .selectors", ".that", ".should", "#be .populated .with .lorem"]) or just a string like fixie.init(".string, #of .comma .separated .selectors, .that, .should, #be .populated .with .lorem") I think that would address the class proliferation issue and still be explicit about which dom nodes should be populated. easier to maintain / comment out.
- deleted 14y ago[deleted]
- raingrove 14y agoI like how the words generated are totally hipster!
- rthprog 14y agoThanks! It's actually kind of funny how small the dictionary is...
- JohnnyFlash 14y agoThis would be so much more awesome if you could assign the class to a container div. Then on each page reload it would randomly add content - be it paragraphs, headers, imgs, lists, tables etc. This would be a fantastic tool for testing templates against a wide variety of random content. When making a template for clients to use you can never be too sure what they are going to add so you do your best to style everything. Getting random content on each page load would really solidify this testing. Adding a class to individual elements... I don't find this too useful.
- rthprog 14y agoYou can now assign the class to a container div - you must still provide some empty tags to specify what kind of content you want. For example, if you need a couple paragraphs of text, you can use `<article class="fixie"></article>`. If you need exactly 1 header followed by 3 paragraphs, you can use ``` <article class="fixie"> <h1></h1> <p></p> <p></p> <p></p> </article> ```
- nXqd 14y agoI don't this is a good idea. Because even if you want quick design but later you will have to fix them all. And nowadays designers are familiar with html ( the most basic skill ). But it's nice btw
- rthprog 14y agoThe point isn't to write content for you - it's to automatically add temporary content so you can test out your design before writing copy.
- lninyo 14y agoIt should add random hipster lingo as filler.
- juddlyon 14y agoGreat idea! I'd use this on client projects if: - I could pass a selector rather than adjusting my markup (maybe I can add 'fixie' via jQuery?) - There's an easy way to swap out the word list - I've had Bacon Ipsum, Hipster Ipsum, and Gangster Ipsum all slip through before and it's embarrassing (depending on the client).
- franciscoapinto 14y agoWon't work with javascript disabled, obviously. This makes it unusable for me.