Giter VIP home page Giter VIP logo

metaframe's Introduction

metaframe

Metaframe is an easy-to-use notation layer for conveying the meta-knowledge in wireframes, mockups, and design comps. Made and shared with love by the folks at Elliance.

The current version allows the collection of comments from clients, stakeholders, users, vandals, or bots via a form embedded in the Metaframe overlay. This feature is cool, really cool, but adds a little bit of complexity to the installation. Not much, but a little. Check it out:

Installation

Get The Code

In the /install directory, choose the zip file you want, and put the contents in the top level of your web directory. If you want to include the commenting functionality, make sure you match the version to your server environment. At the moment, .NET 2.0 and higher, and .PHP 5.x are supported. The zip files are named accordingly. If you don't need commenting functionality, use the one marked "nocomments".

Alternatively, if you want to pick and choose which parts to install, you can grab all needed files from the /build directory.

Reference The Files

A basic installation simply requires you to reference metaframe.css and metaframe-1.2.0.min.js. The CSS contains a reset (compass reset) in addition to the note styles.

Reference metaframe.css inside the document's head along with your other external style sheets:

<link rel="stylesheet" href="css/metaframe.css" />

Then reference metaframe-[version].min.js immediately before the close of the body:

<script type="text/javascript" src="js/metaframe-1.2.0.min.js"></script>

Add Commenting

You can add commenting by adding the two lines of code below for PHP installation:

<meta name="metaframe-csv" content="php-example.csv"/>
<meta name="metaframe-form" content="metaframe-form-submit.php"/>

or these two lines of code for .NET installation:

<meta name="metaframe-csv" content="php-example.csv"/>
<meta name="metaframe-form" content="metaframe-form-submit.aspx"/>
! Make sure either PHP or .NET has writable file permissions to the directory where you are sending the comments or none of this is going to work out.

NB: You can change the location and name file to which the comments will write by modifying the name in the tags above.

NB #2: You can disable commenting by removing the meta tag named "metaframe-form".

NB #3: You can also hide all comments that have been submitted by removing the meta tag named "metaframe-csv".

Use

Get ready because this is stupid simple. For the element you want to notate, add the following attributes to the HTML tag: class="notation" note="[your note here, but without the brackets]". You don't have to add numbers to the notes. Metaframe numbers notes automatically, so you only have to keep track of the notes themselves, and they're always located in the HTML element's tag.

Let's say you want to annotate a section on your page with the text, "By default, this section will contain three featured stories." And let's say the display styles for this section are in the CSS pseudoclass called "features". Here's what it would look like:

<section class="features notation" note="By default, this section will contain three featured stories.">

And here's what it looks like in a real, live web page: http://metaframe.elliance.com

To Download Comments

To get the CSV containing the comments, go to the URL of your project and the path to your CSV, and your browser will downloada the file. The output is a little ugly at the moment because of the encoding we're doing. We're working on a better way to get this, so watch this repository for improvements to come.

! Back up your CSV file. You can use cron with wget and curl, or a similar method, to download the CSV file routinely.

How it works

Metaframe crawls the DOM looking for instances of the class, "notation" and, when it finds one, it uses magic to add the subsequent contents of "notes" to the panel overlay.

Requirements

Metaframe requires jQuery and Modernizr in order to work. We've included them in the install, but you can, of course, disregard ours if you're using fancier/newer/faster/cooler versions of your own.

Known Issues

Mama mia! Metaframe's not a-workin so good in IE6 or earlier!

©2013 Elliance, Inc. http://elliance.com - Creative Commons Attribution Sharealike 3.0 Unported http://creativecommons.org/licenses/by-sa/3.0/

metaframe's People

Contributors

aparroccini avatar bryant1410 avatar shortpgh avatar texburgher 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

metaframe's Issues

Comments against individual annotations

As well as general comments about the page, it should be possible to leave a comment against a particular annotation, and to view all comments for each annotation underneath it (possibly in an expandable area which is initially shown contracted in case there are many comments).

This may require the HTML to include unique IDs for all annotated elements so that the CSV comments can be correlated to the annotations when the page loads (via an extra field - empty/null for page comments) but this isn't much hardship given how useful this would be.

Add Highlighting When Selecting Annotation

First of all, this is amazing. I have two IxD suggestions:

  1. When you select an annotation marker, the corresponding note in the panel is highlighted via some means and maybe even introduced with subtle animation.

  2. Scroll to that specific spot in the pane when selecting an annotating and matching it with suggestion (1).

Thanks for your work on this!

Doesn't work in Chrome on Andriod devices

Have tried this on Nexus 7 and Galaxy Nexus, both running 4.2.x. In both cases when the frame pops up it's impossible to scroll the content of the frame – only the page behind will scroll.

Using a standard custom data attribute for notes ?

I really like the concept of this little wireframing framework, and we (the web designers in our team) have been using it in our projects for a few weeks.

But something has always been bugging me : the fact that it requires adding an invalid "note" attribute to the HTML elements. It's something that most HTML editors will flag as warnings, if not errors (indeed, the W3C validator DOES flag them as errors).

There is an easy fix for that, using a "data-" prefix on this custom attribute ::

http://www.w3.org/html/wg/drafts/html/master/dom.html#custom-data-attribute
http://ejohn.org/blog/html-5-data-attributes/

Just using "data-note" instead of "note" would fix this issue. You could even go as far as using a vendor identifier prefix, like "data-metaframe-note", although maybe this would increase the clutter in the HTML files beyond necessary (but could come handy in case people need to use metaframe along other frameworks that use a "data-note" annotation). Maybe allowing both "data-note" and "data-metaframe-note" would give people maximum flexibility.

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.