Skip to content

Commit

Permalink
Сделать runtime бандлы для страниц каждого типа: первые шаги (Ref #29)
Browse files Browse the repository at this point in the history
  • Loading branch information
arikon committed Oct 31, 2012
1 parent a6b9013 commit 0c9f8d0
Show file tree
Hide file tree
Showing 8 changed files with 206 additions and 52 deletions.
65 changes: 22 additions & 43 deletions .bem/make.js
Original file line number Diff line number Diff line change
Expand Up @@ -66,48 +66,27 @@ MAKE.decl('BundleNode', {

getTechs: function() {

var arr = this.__base();

// remove js tech
// arr.splice(arr.indexOf('js'), 1);

// remove html tech
// arr.splice(arr.indexOf('html'), 1);

// add i18n techs
return arr;
/*
.concat([
'ie.css',
'ie6.css',
'ie7.css',
'ie8.css',
'ie9.css',
'i18n',
'i18n.js',
'i18n.html'
]);
*/
}
/*,
'create-i18n.js-optimizer-node': function(tech, sourceNode, bundleNode) {
sourceNode.getFiles().forEach(function(f) {
this['create-js-optimizer-node'](tech, this.ctx.arch.getNode(f), bundleNode);
}, this);
},
'create-i18n.html-node': function(tech, bundleNode, magicNode) {
var techs = [
'bemjson.js',
'bemdecl.js',
'deps.js'
];

if (PATH.basename(this.level.dir) === 'bundles-desktop') {
return techs.concat([
'css',
'ie.css',
'js'
]);
}

return this.setBemCreateNode(
tech,
this.level.resolveTech(tech),
bundleNode,
magicNode);
return techs.concat([
'bemhtml',
'html'
]);

}
*/

});

MAKE.decl('Arch', {
Expand Down Expand Up @@ -352,11 +331,11 @@ MAKE.decl('PagesGeneratorNode', 'Node', {
title: pageInfo.title,
favicon: '/favicon.ico',
head: [
{ elem: 'css', url: resourceFileName + '.css' },
// { elem: 'css', url: resourceFileName + '.css', ie: false },
// { elem: 'css', url: resourceFileName, ie: true },
{ elem: 'css', url: '/bundles-desktop/inner/_inner.css' },
// { elem: 'css', url: '/bundles-desktop/inner/_inner.css', ie: false },
// { elem: 'css', url: '/bundles-desktop/inner/_inner', ie: true },
// { block: 'i-jquery', elem: 'core' },
// { elem: 'js', url: resourceFileName + '.js' },
// { elem: 'js', url: '/bundles-desktop/inner/_inner.js' },
{ elem: 'meta', attrs: { name: 'description', content: pageInfo.description }},
{ elem: 'meta', attrs: { name: 'keywords', content: pageInfo.keywords }}
],
Expand Down
12 changes: 11 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,18 +1,28 @@
.DS_Store
.idea/
.svn/
bem-www.iml
.bem/cache/
bem-bl/
node_modules/
content/bem-method/
content/bem-tools/
content/csso/

pages-desktop/*/*.*
.svn/
!pages-desktop/*/*.bemjson.js
!pages-desktop/.bem
!pages-desktop/.bem/level.js
pages-desktop/bem-method*/
pages-desktop/tools*/
pages-desktop/bem-tools*/
pages-desktop/csso*/

bundles-desktop/*/*.*
!bundles-desktop/*/*.bemjson.js
!bundles-desktop/.bem
!bundles-desktop/.bem/level.js
bundles-desktop/bem-method*/
bundles-desktop/tools*/
bundles-desktop/bem-tools*/
bundles-desktop/csso*/
1 change: 1 addition & 0 deletions bundles-desktop/.bem/level.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
exports.baseLevelPath = require.resolve('../../pages-desktop/.bem/level.js');
75 changes: 75 additions & 0 deletions bundles-desktop/index/index.bemdecl.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
exports.blocks = [
{
"name": "b-page"
},
{
"name": "lang-switcher"
},
{
"name": "b-link"
},
{
"name": "logo",
"mods": [
{
"name": "type",
"vals": [
"main"
]
}
]
},
{
"name": "content"
},
{
"name": "island"
},
{
"name": "whatisbem"
},
{
"name": "heading",
"mods": [
{
"name": "size",
"vals": [
"s",
"m"
]
}
]
},
{
"name": "description"
},
{
"name": "col"
},
{
"name": "list",
"elems": [
{
"name": "item"
}
]
},
{
"name": "methodology"
},
{
"name": "tools"
},
{
"name": "i-font"
},
{
"name": "libraries"
},
{
"name": "footer"
},
{
"name": "metrika"
}
];
88 changes: 88 additions & 0 deletions bundles-desktop/inner/inner.bemdecl.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
exports.blocks = [
{
"name": "b-page"
},
{
"name": "header",
"elems": [
{
"name": "logo"
}
]
},
{
"name": "b-link"
},
{
"name": "b-menu-horiz",
"mods": [
{
"name": "layout",
"vals": [
"normal"
]
}
],
"elems": [
{
"name": "item",
"mods": [
{
"name": "state",
"vals": [
"parent",
"current"
]
}
]
}
]
},
{
"name": "nav",
"mods": [
{
"name": "type",
"vals": [
"main",
"sub"
]
}
]
},
{
"name": "content"
},
{
"name": "b-text",
"elems": [
{
"name": "h1"
},
{
"name": "p"
},
{
"name": "h2"
},
{
"name": "ul"
},
{
"name": "li"
},
{
"name": "h3"
},
{
"name": "h4"
}
]
},
{
"name": "highlight"
},
{
"name": "footer"
}
];
5 changes: 3 additions & 2 deletions pages-desktop/.bem/level.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,10 @@ var extend = require('bem/lib/util').extend,
exports.getTechs = function() {
return {
'bemjson.js': '',
'bemdecl.js': 'bemdecl.js',
'bemhtml': PATH.join(BEM_TECHS, 'bemhtml.js'),
'html': PATH.join(BEM_TECHS, 'html.js')
// 'js': 'js-i',
'html': PATH.join(BEM_TECHS, 'html.js'),
'js': 'js-i'
// 'i18n': PATH.join(BEM_TECHS, 'i18n.js'),
// 'i18n.js': PATH.join(BEM_TECHS, 'i18n.js.js'),
// 'i18n.html': PATH.join(BEM_TECHS, 'i18n.html.js')
Expand Down
6 changes: 3 additions & 3 deletions pages-desktop/index-en/index-en.bemjson.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
title: 'BEM: Methodology of Effective Site Development',
favicon: '/favicon.ico',
head: [
{ elem: 'css', url: '_index-en.css', ie: false },
{ elem: 'css', url: '_index-en', ie: true },
{ elem: 'css', url: '/bundles-desktop/index/_index.css' },
// { elem: 'css', url: '/bundles-desktop/index/_index', ie: true },
// { block: 'i-jquery', elem: 'core' },
// { elem: 'js', url: '_index.js' },
// { elem: 'js', url: '/bundles-desktop/index/_index.js' },
{ elem: 'meta', attrs: { name: 'description', content: 'BEM is abbreviation for Block-Element-Modifier. It\'s a way to write code which is easy to support and develop.' }},
{ elem: 'meta', attrs: { name: 'keywords', content: 'bem, block, element, modifier, bemjson, bemhtml, i-bem, i-bem.js, borschik, bem tools, csso' }}
],
Expand Down
6 changes: 3 additions & 3 deletions pages-desktop/index-ru/index-ru.bemjson.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
title: 'БЭМ: Методология ведения и использования исходного кода проекта',
favicon: '/favicon.ico',
head: [
{ elem: 'css', url: '_index-ru.css', ie: false },
{ elem: 'css', url: '_index-ru', ie: true },
{ elem: 'css', url: '/bundles-desktop/index/_index.css' },
//{ elem: 'css', url: '/bundles-desktop/index/_index', ie: true },
// { block: 'i-jquery', elem: 'core' },
// { elem: 'js', url: '_index.js' },
// { elem: 'js', url: '/bundles-desktop/index/_index.js' },
{ elem: 'meta', attrs: { name: 'description', content: 'БЭМ (Блок, Элемент, Модификатор) – это методология и инструментарий для разработки сайтов в единой предметной области' }},
{ elem: 'meta', attrs: { name: 'keywords', content: 'бэм, бем, bem, блок элемент модификатор, bemjson, bemhtml, i-bem, i-bem.js, borschik, bem tools, csso' }}
],
Expand Down

0 comments on commit 0c9f8d0

Please sign in to comment.