Angus McLeod
0997eb6486
Add theme stylesheet(s) to the crawler layout
2018-06-12 12:47:48 +10:00
Neil Lalonde
b7ecdb72d6
FIX: update Google Tag Manager javascript
2018-04-03 14:22:06 -04:00
Sam
8c1d145f0e
FIX: when visiting post on mobile it is not selected
2018-03-13 14:06:08 +11:00
Sam
8ff5f5f2ef
FIX: cache admin locale file for 24 hours
2018-01-09 10:23:49 +11:00
Robin Ward
d07ebf9d4c
UX: Support for custom error pages and headers in plugins
2017-11-14 16:31:44 -05:00
Robin Ward
1c56e1c063
Support for HTML builders on the no-ember view
2017-11-14 16:04:27 -05:00
Michael Howell
38b8d68c68
FEATURE: Allow the user to select a custom home page ( #5268 )
...
* Add user_home configuration option
* Use the new user_home preference to actually show the right home page
* Fix trailing whitespace
* Update user_option_serializer.rb
* Fix JavaScript default homepage tests
* Use an object instead of a giant switch
* Remove trailing whitespace
* Make the default `user_home` set to `null` instead of `0`
* Rename user_home to homepage_id
2017-11-10 06:45:19 +11:00
Neil Lalonde
7dc3671490
FEATURE: remove obsolete settings ga_tracking_code and ga_domain_name. Use ga_universal_tracking_code and ga_universal_domain_name instead.
2017-11-01 11:41:51 -04:00
Arpit Jalan
6d35b62238
add image type attribute to icon link tag
2017-09-08 12:48:30 +05:30
Robin Ward
2e4b3e9b06
Don't include all html builders on client and server side
2017-08-07 11:29:35 -04:00
Neil Lalonde
0b41046238
don't force SiteSetting.title into meta title tag
2017-06-12 13:50:50 -04:00
Pat David
aa009dd2b5
Add @embeddable_css_class from embed_controller
2017-05-11 15:16:16 -04:00
Sam
dfe3c162cc
move stylesheet after js
2017-04-20 12:34:50 -04:00
Robin Ward
8b8ee2ad61
Pass a context in when using a HTML builder
2017-04-18 12:35:35 -04:00
Sam
5dd752877e
FEATURE: try adding some preload hints for chrome
2017-04-17 11:52:43 -04:00
Arpit Jalan
fe29fe71c5
FIX: embedding comments was broken
2017-04-14 08:14:22 +05:30
Sam
3f4f0b32a9
FIX: path wizard showing with no style
2017-04-13 15:22:39 -04:00
Sam
a3e8c3cd7b
FEATURE: Native theme support
...
This feature introduces the concept of themes. Themes are an evolution
of site customizations.
Themes introduce two very big conceptual changes:
- A theme may include other "child themes", children can include grand
children and so on.
- A theme may specify a color scheme
The change does away with the idea of "enabled" color schemes.
It also adds a bunch of big niceties like
- You can source a theme from a git repo
- History for themes is much improved
- You can only have a single enabled theme. Themes can be selected by
users, if you opt for it.
On a technical level this change comes with a whole bunch of goodies
- All CSS is now compiled using a custom pipeline that uses libsass
see /lib/stylesheet
- There is a single pipeline for css compilation (in the past we used
one for customizations and another one for the rest of the app
- The stylesheet pipeline is now divorced of sprockets, there is no
reliance on sprockets for CSS bundling
- CSS is generated with source maps everywhere (including themes) this
makes debugging much easier
- Our "live reloader" is smarter and avoid a flash of unstyled content
we run a file watcher in "puma" in dev so you no longer need to run
rake autospec to watch for CSS changes
2017-04-12 10:53:49 -04:00
Robin Ward
2fedf1c668
FIX: jQuery include was incorrect for `finish-installation`
2017-03-27 10:29:25 -04:00
Neil Lalonde
c4e10f2a9d
FEATURE: redesign the change password page to use javascript and validations
2017-02-03 16:09:24 -05:00
Rafael dos Santos Silva
d7c8c2d5e3
FEATURE: Opt-in native Discourse app install banner on Android/iOS
2017-01-03 15:50:45 -02:00
Sam
e2c87da42a
FEATURE: Add basic support for Safe Mode
...
In Safe Mode all JS extensions and site customizations are disabled.
To access Safe Mode visit `sitename.org/safe-mode`
2016-11-21 16:46:14 +11:00
Sam
f4c754b389
FEATURE: split JavaScript application bundle, so plugins live in own file
...
This adds plugin.js and plugin_third_party.js files
2016-11-15 11:43:13 +11:00
Rafael dos Santos Silva
24227af9e8
Adds some styling for crawler view
2016-11-14 18:32:59 -02:00
Robin Ward
c03d25f170
FEATURE: Configure Admin Account
...
Adds a "Step 0" to the wizard if the site has no admin accounts where
the user is prompted to finish setting up their admin account from the
list of acceptable email addresses.
Once confirmed, the wizard begins.
2016-10-19 11:27:56 -04:00
Rafael dos Santos Silva
41d2620d06
Add some styling to print redux version
2016-10-12 14:00:05 -03:00
Rafael dos Santos Silva
acc70cc3de
SiteSetting, admin passtrough, CSS, hide on mobile
2016-09-26 20:46:55 -03:00
Rafael dos Santos Silva
70c68f0a7c
Open print dialog automatically
2016-09-26 20:44:50 -03:00
Robin Ward
3d621767cc
FIX: Wizard didn't work with subfolders
2016-09-22 14:39:36 -04:00
Robin Ward
6070939daa
Support for other i18n bundles
2016-09-22 09:48:58 -04:00
Daniel Marquard
d77deaa185
Firefox needs "title" OpenSearch parameter
2016-09-19 22:21:42 -04:00
Sam
fe7883eeea
UX: don't allow user scaling in mobile view
...
on iOS 10 behavior of zoom restriction has changed.
This does not disable zooming on iOS 10 but it DOES stop it from randomly
zooming when you are composing
2016-09-15 07:36:16 +10:00
Neil Lalonde
ba637e40b6
FEATURE: Google Tag Manager Universal Analytics support
2016-07-14 16:35:20 -04:00
Robin Ward
bba0fd0654
REFACTOR: PreloadStore to ES6
2016-07-11 12:57:05 -04:00
Robin Ward
a546395397
REFACTOR: Migrate markdown functionality in ES6
2016-07-11 12:57:05 -04:00
Robin Ward
72560b5260
UX: Apply the category class on initial page load
2016-07-04 12:11:12 -04:00
Robin Ward
a3907e1fbb
UX: Allow the timeline to scroll mid post
2016-05-31 10:51:55 -04:00
Robin Ward
89e506551a
Add body class to `account-created` route
2016-05-05 14:37:09 -04:00
Kane York
f2ddd44712
FEATURE: Add /search discovery
...
The opensearch.xml results in a "site search engine" being added to
Chrome, while the sitelinks search tag results in "Search this website"
being added to Google Search.
2016-03-28 15:07:59 -07:00
Sam
49fe5a93b1
tweak logo image
2016-03-17 16:56:47 +11:00
Sam
ecbbbbc98c
FIX: not showing content on topics for mobile crawler
2016-03-17 15:09:08 +11:00
Neil Lalonde
df413737d2
FIX: render About page for web crawlers
2016-03-07 15:28:11 -05:00
Robin Ward
9b60551d4e
Upgrade jQuery
2016-02-11 11:00:41 -05:00
Régis Hanol
378b7f964c
Revert "FEATURE (WIP): add max-width and center email notifications"
2016-01-29 11:13:59 +01:00
scossar
77167f12ad
move styles to Styles
2016-01-27 19:07:21 -08:00
scossar
3f09ec2aca
add layout for notifications
2016-01-27 11:27:32 -08:00
Sam
9569235d76
correct path
2016-01-22 07:55:07 +11:00
Sam
7c5a448f63
PERF: remove 10-20ms of work from every page view
...
<% s=Time.now;
main_app.categories_path
main_app.guidelines_path
main_app.tos_path
main_app.privacy_path
p (Time.now-s)*1000%>
Returns 10-20ms consistently on i7-4770k, on shared hosts the cost
could easily reach 40ms
This code simply calculates the strings
/categories
/guidelines
/tos
/privacy
It is ludicrous to spend this enormous amount of work just to calculate
4 strings.
I do not know if this is something specific about Discourse or a bug in
Rails (I tried without the main_app prefix and got similar results),
regardless we can got to avoid these _path APIs for now
Discovered this when running a flamegraph on our home page.
2016-01-21 22:43:56 +11:00
Jeff Atwood
e1f90d12f1
formally remove IE9 support
2016-01-02 23:49:52 -08:00
Sam
24be285bf2
PERF: add one more asset for ember and jQuery
...
at the moment Ember initialization is a bottleneck, to minimize impact
on initial load we download an evaluate it as early as possible
2015-11-25 13:17:57 +11:00
Sam
38f50d3bcc
FIX: stop rendering blank urls for icons
...
You get an instant double request if you allow rendering of "" as
a favicon or apple touch icon.
2015-10-02 10:12:58 +10:00
Régis Hanol
ed717ccb6e
Merge pull request #3794 from tgxworld/add_web_manifes
...
FEATURE: Add web manifest for Chrome users.
2015-09-23 11:35:14 +02:00
Guo Xiang Tan
71eab8f4df
FEATURE: Add web manifest for Chrome users.
2015-09-21 10:34:03 +08:00
Robin Ward
71bac0c342
Add page title and charset to embedded HTML
2015-09-18 16:12:56 -04:00
Kane York
7b5dea6481
FEATURE: Take advantage of Android browser features
...
Declare a theme-color, provide high-resolution icon.
2015-08-17 14:30:20 -07:00
Arpit Jalan
62fce63952
FIX: do not load custom header in admin section
2015-08-15 17:39:07 +05:30
Robin Ward
bd631e343a
FEATURE: Can create stylesheets for embedded comments
2015-08-10 10:21:04 -04:00
Régis Hanol
35e6e5ff67
FIX: footer was missing in some pages
...
- error pages
- search results pages
- list of all tags
- topics list of a specific tag
- user leaderboard
2015-08-05 16:14:26 +02:00
Arpit Jalan
d6069e8c90
UX: fix container layout
2015-07-28 13:58:30 +05:30
Neil Lalonde
1b250f1e01
FIX: crawler pages and RSS had broken links for sites deployed to a subfolder with relative_url_root
2015-04-30 12:46:26 -04:00
Robin Ward
5c49c6b581
FIX: Crawler layout from within plugin routes
2015-04-15 22:41:09 -04:00
Robin Ward
0d90b495a8
FIX: Plugins were broken for initial payloads
...
Our plugins use rails engines which are mounted against the main
application's `ApplicationController`. This works great but path helpers
need to reference `main_app` in order for it not to blow up.
2015-04-09 12:26:24 -04:00
Erick Guan
c955907f60
FEATURE: add microdata prop and more links for crawler
...
- add microdata based on schema.org
- add breadcrumb on the top of topic
- add navigations link on the bottom of every pages
- add category description on the category list
2015-03-16 22:52:10 +08:00
Sam
f5af4768eb
FEATURE: add clean support for running Discourse in a subfolder
...
To setup set DISCOURSE_RELATIVE_URL_ROOT to the folder you wish
2015-03-09 13:14:29 +11:00
Robin Ward
bcb0346595
FIX: Support text only logos when activating account.
2015-02-25 11:36:06 -05:00
Arpit Jalan
68377ba4ab
add class for container div on 404 page
2015-02-04 00:40:21 +05:30
riking
c6e27399b3
FIX: Add Google Analytics code to crawler view
2015-02-02 00:49:58 -08:00
Régis Hanol
cd2c9edb46
FIX: 🐛 upload on IE9 wasn't working :'(
...
- FIX: make sure we set a default name to a pasted image only on Chrome (the only browser that supports it)
- FIX: use ".json" extension to uploads endpoints since IE9 doesn't pass the correct header
- FIX: pass the CSRF token in a query parameter since IE9 doesn't pass it in the headers
- FIX: display error messages comming from the server when there is one over the default error message
- FIX: HACK around IE9 security issue when clicking a file input via JavaScript (use a label and set `visibility:hidden` on the input)
- FIX: hide the "cancel" upload on IE9 since it's not supported
- FIX: return "text/plain" content-type when uploading a file for IE9 in order to prevent it from displaying the save dialog
- FIX: check the maximum file size on the server 💥
- update jQuery File Upload Plugin to v. 5.42.2
- update JQuery IFram Transport Plugin to v. 1.8.5
- update jQuery UI Widget to v. 1.11.1
2015-01-28 19:43:20 +01:00
Robin Ward
987504c6ab
Rename `no_js` layout to `no_ember`
...
While *sometimes* `no_js` was used for visitors without js (for example
disabling it on your browser) it was also used for some pages that were
disabled to JS capable browsers, including the 404 page.
Even worse, sometimes it was used on pages that *had* Javascript, such
as our `/activate-account` route. It has been renamed to `no_ember` to
indicate what it really is, a layout for the site that doesn't load our
Ember.js application.
2015-01-15 15:56:53 -05:00
Jeff Atwood
3ab2f105b4
switch no_js view back to old layout
2015-01-15 12:29:37 -08:00
Jeff Atwood
ef8976d68a
better no-js and crawler image sizing
2015-01-15 02:20:38 -08:00
Jeff Atwood
71bfde3b4d
meant device-width there, oops
2015-01-15 01:37:02 -08:00
Jeff Atwood
6b30f8444e
normalize crawler and no-js views
2015-01-15 01:31:30 -08:00
Jeff Atwood
5c92c39003
remove csrf, font-face, css from js-off + crawler
2015-01-15 00:41:30 -08:00
Jeff Atwood
6a6e254096
move viewport meta tag out of shared header
2015-01-15 00:24:39 -08:00
Régis Hanol
6734a51b6a
move SiteText.{head,top,bottom} to SiteCustomization
2015-01-14 12:15:53 +01:00
Robin Ward
f3b72f5d96
Revert "move SiteText.{head,bottom} to SiteCustomization and remove redundant SiteText.top"
...
This reverts commit 6ee2849df6
.
2015-01-12 20:21:22 -05:00
Régis Hanol
6ee2849df6
move SiteText.{head,bottom} to SiteCustomization and remove redundant SiteText.top
2015-01-12 19:59:43 +01:00
Régis Hanol
853e2ee535
FIX: rss link in category pages
2015-01-02 13:06:57 +01:00
Robin Ward
e035b07e92
Put Ember 1.8.1 + fixes back.
2014-12-04 08:51:35 -05:00
Sam
8977d5917b
revert
2014-12-04 09:35:11 +11:00
Robin Ward
39fde5b9fb
Upgrade to 1.8.1: So long, metamorphs!
2014-12-03 10:49:18 -05:00
Régis Hanol
fe541891fc
remove unnecessary <footer> tags
2014-11-12 14:35:20 +01:00
Régis Hanol
ec76be964e
UX: better footer handling
2014-11-10 21:51:55 +01:00
Sam
aa9b3bb35a
FEATURE: allow long polling to go to a different url
...
Added the site setting long_polling_base_url , this allows you
to farm long polling to a different server.
This setting is very important if a CDN is serving dynamic content.
2014-10-24 13:38:38 +11:00
Robin Ward
bc53d48bd7
Renaming site contents to site text
2014-09-24 16:08:14 -04:00
Konrad Borowski
14486a2e19
Allow translating "Log In" button in HTML code.
2014-08-12 11:23:45 +02:00
Jeff Atwood
a51bf08346
change "Sign In" back to "Log In" for now
2014-08-11 16:08:55 -07:00
Robin Ward
4f416bf6ce
Check honeypot/challenge value on activation too
2014-07-15 14:07:35 -04:00
Sam
5032c96486
FIX: disable x accl redirect for CDN assets
...
We need to keep headers in tact
2014-07-10 16:32:46 +10:00
Kris Aubuchon
291459bb91
first steps to making discourse more responsive
2014-07-09 19:56:35 -04:00
Sam
decff6dc85
revert viewport change on mobile
...
(truncates stuff on iphone)
2014-07-03 20:34:13 +10:00
Kris Aubuchon
aee73d901a
fixing a handful of issues
2014-07-02 23:21:45 -04:00
Régis Hanol
7feab2fc99
Revert "background on topic-list, more width on extra-info-wrapper, meta viewport fix"
2014-07-02 16:55:43 +02:00
Kris Aubuchon
e0194e69a5
adding background to topic-list, making max-width larger on extra-info-wrapper, and changing viewport config
2014-07-02 09:54:40 -04:00
Jeff Atwood
dfd011e986
put the actual GitHub URL in the meta="generator"
2014-07-01 00:03:07 -07:00
Jeff Atwood
fa415cd120
de-duplicate <footer> ids
2014-06-24 00:12:07 -07:00
Neil Lalonde
753610f8db
Add meta generator tag with the Discourse version. Use a partial for common head elements.
2014-06-19 18:18:09 -04:00
Neil Lalonde
82693daa3d
Put the 'Powered by Discourse...' message shown to crawlers and no-js visitors in a footer element so that SEO something something.
2014-06-19 18:18:09 -04:00
riking
cd186aee56
Allow a sepearate mobile logo URL
2014-06-18 12:44:00 -07:00
Neil Lalonde
4f90869618
Add content :bottom to the bottom of every page, as it says it should
2014-06-06 16:48:17 -04:00
Jeff Atwood
e34321af7a
add sign in user glyph to 404 page
2014-05-23 01:01:09 -07:00
Sam
fad868c78f
Bump hashes on various files
...
Upgrade jquery
I made this commit cause my JS debugging CDN support added a header and
wanted we bump cache everywhere
2014-05-15 15:52:09 +10:00
Sam
f34862d195
FEATURE: get window.onerror working for CDNs
2014-05-15 12:59:26 +10:00
Neil Lalonde
63a1f87806
Use topic excerpts and category desriptions in meta description tags for crawlers
2014-05-07 11:21:37 -04:00
Jeff Atwood
f13e9e58e8
change "Log In" to "Sign In"
...
because
http://www.designcult.org/2011/08/why-do-we-call-in-logging-in.html
2014-04-30 01:10:32 -07:00
Robin Ward
f2e17af130
Add staff and new user colours to embedded discourse. Also link
...
usernames to profiles.
2014-03-20 16:04:50 -04:00
Robin Ward
e8ee490778
Extract breaking up a string into a separate file, include it in
...
embedded view.
2014-03-20 14:34:51 -04:00
Robin Ward
375719edfb
FIX: Links in the iframe should all be target=_blank
2014-03-20 10:57:36 -04:00
Vikhyat Korrapati
5c1fe30cd6
Include opengraph/oembed tags in the crawler layout.
2014-03-16 19:30:26 +05:30
Robin Ward
d95887c57d
CHANGE: We now include the `_escaped_fragment_` support by default, but
...
only if the crawler check fails. It is a fallback for non-google search
engines that support the Ajax crawling API.
2014-02-20 17:02:26 -05:00
Robin Ward
c4b5455c21
REFACTOR: Rename `GooglebotDetection` to `CrawlerDetection` because we
...
will likely whitelist more crawlers in the future.
2014-02-20 16:07:02 -05:00
Neil Lalonde
7f6b2e5563
Show login button on 404 page. Add routes to show login and signup modals when page/route loads. If logged in and showing 404 page, load ember app.
2014-02-18 17:18:53 -05:00
Neil Lalonde
d298e2e065
Detect Googlebot from user agent and use a different layout that doesn't load javascript
2014-02-15 17:54:34 -05:00
Neil Lalonde
9c4dc9a966
Block browser-update.js in robots.txt. Move noscript block above everything else in application layout.
2014-02-14 15:33:00 -05:00
Eric Carlson
bc033283c6
Google Universal Analytics
2014-01-25 17:42:25 -07:00
Neil Lalonde
7cbcd72ea4
Add site_description to meta description tag for real
2014-01-09 16:42:22 -05:00
Robin Ward
c762e3c4b1
Support for scrolling to another post in the iframe; more complicated than you'd think!
2014-01-03 14:45:59 -05:00
Régis Hanol
abf910d210
FEATURE: allow for custom HTML inside the <head> tags
2014-01-02 16:22:04 +01:00
Robin Ward
4f8aed295a
FEATURE: Embeddable Discourse comments, now with simple-rss instead of feedzirra
2013-12-31 15:01:22 -05:00
Robin Ward
62db063e1e
Revert "Support for Embeddable Comments via IFRAME" - it depends on Curl
...
which not every server has. Have to rethink this.
This reverts commit e3e4c62887
.
2013-12-31 12:52:31 -05:00
Robin Ward
e3e4c62887
Support for Embeddable Comments via IFRAME
2013-12-31 12:26:24 -05:00
Sam
b67a3a85dd
split js with vendor/application
...
avoid one huge js bundle and instead break it down
to application and vendor (3rd party) our app changes
a lot, vendor changes a lot less
2013-12-23 10:32:07 +11:00
Neil Lalonde
1f0a59584b
Revert "Re-apply with fixes: Stop using user agent to detect mobile devices. Use a media query and yepnope to load the appropriate css and customizations."
2013-12-18 14:47:22 -05:00
Neil Lalonde
58e5d532c5
Revert "Got rid of buggy yepnope spaghetti, however mobile detection really should be driven from the server."
2013-12-18 14:47:12 -05:00
Régis Hanol
4c6b535cc0
move arbitrary html content out of noscript and into the preloadstore
2013-12-17 18:25:27 +01:00
Sam
8ccab6d140
Got rid of buggy yepnope spaghetti, however mobile detection really should be driven from the server.
2013-12-13 15:17:05 +11:00
Neil Lalonde
5171a23a9c
Re-apply with fixes: Stop using user agent to detect mobile devices. Use a media query and yepnope to load the appropriate css and customizations.
2013-12-11 11:19:22 -05:00
Neil Lalonde
2596f7dec2
Revert "Stop using user agent to detect mobile devices. Use a media query and yepnope to load the appropriate css and customizations."
2013-12-09 16:28:11 -05:00
Neil Lalonde
ca5d4d5e54
Stop using user agent to detect mobile devices. Use a media query and yepnope to load the appropriate css and customizations.
2013-12-09 13:28:42 -05:00
Régis Hanol
dabdcf59c4
allow for arbitrary HTML at the top/bottom of every pages
2013-11-18 17:13:24 +01:00
Régis Hanol
07cbf8f4e3
do not customize the admin section
2013-11-14 16:41:16 +01:00
Régis Hanol
e9f9d22482
add query parameter to temporarily disable customization
2013-11-12 18:14:22 +01:00
Régis Hanol
934ede7d91
shorter message for untranslated strings
2013-11-04 11:52:12 +01:00
Neil Lalonde
13f17b2a5c
Add ability to customize css and header for mobile
2013-09-16 12:28:02 -04:00
Neil Lalonde
5071d71294
Don't show custom header on mobile view
2013-09-12 18:46:35 -04:00
Neil Lalonde
b73f4e9864
Put category description in meta description tag
2013-09-09 11:38:09 -04:00
Neil Lalonde
45d7765936
Merge branch 'master' into mobile
2013-09-05 15:54:22 -04:00
Sam
c9321cae7f
Our JS includes belong at the top of the file, that way we can start
...
downloading and parsing them earlier and not wait for the rest of the page
Our noscript stuff belongs at the bottom, we should not hold off any js work
while noscript is downloading
2013-09-05 10:41:11 +10:00
Neil Lalonde
9efa29e688
Detect whether to use mobile view. Session var mobile_view can override automatic detection.
2013-08-27 14:57:42 -04:00
Neil Lalonde
89265c3a8b
FIX: BAD CSRF on login. Don't check csrf in the fake login form since it doesn't actually do anything.
2013-08-27 11:31:14 -04:00
Sam
ac905d4a08
defer persona init till after people launch the login dialog
2013-08-26 17:51:41 +10:00
Neil Lalonde
594cb50f18
Use the correct locale in html lang attribute
2013-07-04 14:32:16 -04:00
Robin Ward
ce0a7739cf
FIX: Invalid Unicode in preload store JSON
2013-07-02 20:43:52 -04:00
Chris Hunt
268a5debbf
Add 'apple touch icon url' site setting
2013-06-06 14:43:05 -07:00
Jeff Atwood
2982c23265
add quotes around favicon URL
2013-05-31 12:18:41 -07:00
Sam
42494b5bb1
we can't trust CSRF for anon the way it is designed.
...
The page they have loaded may be cached we need a different way of delivering the CSRF potentially
2013-05-03 16:43:11 +10:00
Sam
e5c5c0bbb3
no_js to use site customisations
2013-05-01 11:04:47 +10:00
Sam
d0a8cfa6c0
more persona supression
2013-04-19 11:07:15 +10:00
Sam
850b042cab
introduce rack:cache as a default, so users don't need to configure apache or nginx
...
under rack cache we are able to serve 620reqs a second per thin (on my machine) before it 12 (on my machine)
reorganised so mini profilers can be cleanly disabled from config file
added caching for categories index
move production.rb to production.sample.rb
2013-04-11 16:24:21 +10:00