diff --git a/ckan/html_resources/__init__.py b/ckan/html_resources/__init__.py
index d09f4bf15ff..0121076d86f 100644
--- a/ckan/html_resources/__init__.py
+++ b/ckan/html_resources/__init__.py
@@ -30,7 +30,7 @@
import sys
import ConfigParser
-from fanstatic import Library, Resource, Group
+from fanstatic import Library, Resource, Group, get_library_registry
from ckan.include.rjsmin import jsmin
from ckan.include.rcssmin import cssmin
@@ -136,8 +136,14 @@ def create_resource(filename):
setattr(module, group_name, group)
# finally add the library to this module
setattr(module, name, library)
+ # add to fanstatic
+ registry = get_library_registry()
+ registry.add(library)
-# create our library here
-create_library('javascript', 'javascript')
-create_library('css', 'css')
+# create our libraries here from any subdirectories
+for dirname, dirnames, filenames in os.walk(os.path.dirname(__file__)):
+ if dirname == os.path.dirname(__file__):
+ continue
+ lib_name = os.path.basename(dirname)
+ create_library(lib_name, lib_name)
diff --git a/setup.py b/setup.py
index 32e9b14cc40..6216147c1c1 100644
--- a/setup.py
+++ b/setup.py
@@ -110,10 +110,6 @@
[ckan.system_plugins]
domain_object_mods = ckan.model.modification:DomainObjectModificationExtension
- [fanstatic.libraries]
- css = html_resources:css
- javascript = html_resources:javascript
-
[babel.extractors]
ckan = ckan.lib.extract:extract_ckan
""",