aFramework Users

  • AndreasLagerkvist.com

    Using aFramework was an obivous choice for me as I'm the author of it :P

  • AgnesEkman.com

    As I also built Agnes' site going with aFramework felt like the natural thing to do.

  • a-Framework.org

    How would it look if aFramework's official site didn't run on aFramework? :)

  • Sidkritik.se

    Sidkritik.se is a Swedish site focused on website reviews. It's a little like a CSS-gallery but anyone can add and review sites.

Why aFramework?

  • Lightweight

    aFramework's core is ~130kb and consists of 15 files. That includes the two external libraries aFramework uses; Dean Edward's JS-packer and Markdown, which together make up about half of that size.

    The code you write in aFramework can also easily be ported to other frameworks or just plain old procedural PHP because aFramework doesn't force you to write code in any special way.

    The download zip contains 5 styles, a bunch of jQuery plug-ins as well as jQuery itself and jQuery UI + loads of other (optional) stuff, that's why it's a little bit bigger.

  • Great Performance

    Out of the box a typical aFramework installation generates the front-end in about 0.05 - 0.1 seconds (depending on the computer it runs on, of course) and after that scores around 98/100 on ySlow's "Small site or blog"-test. Much thanks to aFramework's magic merging and compressing of all CSS and JS-files.

  • SEO-Friendly

    aFramework is built with semantic and lightweight XHTML and completely separates design and content. It contains plenty of SEO-tweaks such as canonical URLs and meta descriptions. aFramework also supports nice URLs whether or not you have mod_rewrite enabled.

  • Standards Compliant

    aFramework's every module validates XHTML 1.0 Strict and uses absolutely no tables for layout or any other nonsense like that. In fact, all of aFramework's modules only use one CSS-class - to tell whether a style is selected on the styles page. The rest is just POSH :)

  • 100% Semantic

    Because aFramework uses Markdown for almost all kinds of user generated content you can always be sure to have 100% semantic and valid (X)HTML.

  • Accessible

    aFramework is built with love and progressive enhancement. The HTML is so clean you can eat off it and every aspect of the JS is built with care.

    aFramework comes bundled with jQuery (+ plenty of plug-ins) and almost everything that can be is hijaxed. If you prefer a different JS library (or perhaps you don't need JS at all) you can simply delete all the JS-files and aFramework will still function properly thanks to the use of progressive enhancement.

  • Extensible

    aFramework is practically infinitively extensible. Everything from configuration to modules to styles to entire sites can be extended allowing you to rapidly create customized web sites that build on the solid aFramework core.

  • Ajax Ready

    aFramework is modular. Every part of an aFramework-site is contained within its own files and folders and can be accessed with or without XHR individually. To load any module with ajax all you need is something like:

    $('#random-links').load(Router.urlForModule('RandomLinks'));

Features

  • Code Compression

    aFramework automatically merges and minifies all your site's JavaScript and CSS-files so that the browser only needs to download 1 file per language while you can structure your code as modular as you like.

  • CSS Constants

    Every CSS-file you create has access to all of aFramework's generic CSS-constants, such as $self-clear, $pipe-menu, $data-definition etc. So if you want you can use them, if not, aFramework will remove them from the generated CSS. You can of course create and use your own constants as well.

  • Multilingual

    aFramework is completely written in UTF-8 and can, with a couple of settings, be made to run in several different languages. All done in an SEO-friendly way where each language has their own URLs. Currently aFramework and its sites are translated into English and Swedish.

  • Markdown WYSIWYM Editor

    Almost everything user's create in aFramework is written in Markdown. Markdown assures 100% valid and semantic output and editor's need only focus on the writing. With JS enabled you'll also get a Markdown WYSIWYM editor around every textarea that takes Markdown input.

  • Google Powered Search

    aFramework comes bundled with plenty of useful modules, one of them being the Google powered search engine that you can install with a click.

  • Hijaxed Using jQuery

    Almost everything that can be hijaxed is. By default aFramework uses jQuery but if you prefer a different library simply replace the JS-files with your owns. Because aFramework is completely built with progressive enhancement it works fine without JS as well.

  • Intuitive Administration

    Almost every aFramework module comes with an "in page" admin. That means that when you login you can edit, delete or create articles, pages, comments etc all on the same page!

    If you want a little more control but find PHPMyAdmin bloated you can browse over to aFramework's dynamic admin; aDynAdmin which is basically a lightweight version of PHPMyAdmin.

  • Comprehensive Debug

    When you're logged in you'll get a small debug panel at the top of the page. If you're a developer you'll appreciate information such as paths to templates and classes as well as template variables, number of queries and run time for each module.

Getting Started

  1. Requirements

    aFramework only really requires PHP5 and MySQL. The Google Search Module requires curl and mod_rewrite is always good for SEO/usability but not required.

  2. Download Latest

    Download the latest release using the big download-link in the top. If you're feeling tech go ahead and check out the svn repo over att Google Code.

  3. Unzip aFramework

    Unzip the downloaded file in your local www/ (or similar) directory or directly on your server. aFramework works from any subdirectory so it doesn't need to be in root.

  4. Edit .htaccess

    Depending on where you unzipped aFramework you may need to edit the RewriteBase command in .htaccess. If, for example, you unzipped aFramework in localhost/aFramework/ RewriteBase should be /aFramework/, not /.

  5. CHMOD 777

    aFramework's installer actually installs stuff so it's important you CHMOD 777 aFramework's root directory before running it.

  6. Run the Installer

    Go to the folder where you installed aFramework using your browser (Firefox, right?:) and append /Install/ to the URL to start the installation wizard. Something like localhost/aFramework/Install/

    If you just want to try it out without creating your own site then follow these steps:

    • Create a database for aframework
    • Fill it with the SQL-files in /Install/sql/
    • Change the Config::set('db.name'... setting to your new database name in aTestSite/Config.php
  7. Documentation

    Want to become a pro? Head over to the documenation.

Thanks

aFramework comes with a few external libraries and sometimes pieces of code found over the internet. Most of the time there's a comment above the particular function or class, but in some cases I may have forgotten where I got it from. If you find something uncredited that's yours please contact me. There really isn't much external code though.

Here's a list of the major libraries and classes aFramework uses:

There's probably something else I've forgotten + perhaps some fonts or icons or images. Regardless my intention is not to take credit for things that aren't mine so do let me know if I'm using something I shouldn't.

Page cached. Loaded in: 0.0065 second(s).
Last DB change: 1970-01-01 03:00:00
Last file change: 2010-08-12 15:31:16
Cache created: 2010-09-03 23:08:14