https://twitter.com/intent/tweet?text={url}
http://urls.api.twitter.com/1/urls/count.json?url={url}
{ | |
"categories": [ | |
{ | |
"pycharm": { | |
"name": "pycharm", | |
"displayName": "PyCharm" | |
} | |
}, | |
{ |
[ | |
{ | |
"id": "893427598345734", | |
"title": "Super Page", | |
"pages": [ | |
{ | |
"id": "235g", | |
"title": "SubSuper Page 2" | |
}, | |
{ |
[ | |
{ | |
"id": "2IyiINAi-KU", | |
"title": "Алма-АТА", | |
"description": "Emmet - Multiple Selection in PhpStorm", | |
"pubDate": "Dow, 7 Mar 2014 00:00: +0000", | |
"thumbnailUrl": "http://i.ytimg.com/vi/-A9BwBA3s8I/0.jpg", | |
"categories": ["phpstorm", "dottrace"], | |
"playlistId": "PLQ176FUIyIUb0zTe7k4ZKkhMsR-slKu3w", | |
"playlistCategory": "Basics", |
index: | |
path: / | |
title: Транспортная компания ВСТ | |
defaults: | |
_controller: IndexController:indexAction | |
api: | |
path: /api/ | |
title: API — Разработчикам | |
defaults: |
<header> — для хедера. | |
<footer> — для футера. | |
<nav> — для главной навигации в хедере. | |
<main> — для основного контента страницы. Содержимое должно быть уникальным и не включать типовые блоки вроде шапки сайта, подвала, навигации, боковой панели, формы поиска. Может содержать теги заголовков, параграфы, картинки и тд. | |
<section> — для разделов контента страницы. Если страница является большой статьёй, логично разбить её на секции, каждая из которых будет содержать свой заголовок. | |
<article> — для статей и постов. Особенно хорошо для списков статей и новостей. | |
<figure> — для медиа-объектов типа картинки, видео, слайдов. | |
<aside> — для бокового меню. | |
<address> — для контактной информации офисов. |
var webpack = require('webpack'); | |
var MemoryFS = require('memory-fs'); | |
var SingleEntryDependency = require('webpack/lib/dependencies/SingleEntryDependency'); | |
var fs = new MemoryFS(); | |
fs.mkdirpSync('/src'); | |
fs.writeFileSync('/src/app.js', 'require("./dep.js")', 'utf-8'); | |
fs.writeFileSync('/src/dep.js', 'module.exports = function(msg){console.log(msg)}', 'utf-8'); | |
fs.writeFileSync('/src/extra-entry.js', 'require("./dep.js")', 'utf-8'); |
/** | |
* @param {Compilation} compilation Webpack compilation | |
* @returns {{ | |
* byChunkName: {chunkName: Array<{name: string, source: string}>}, | |
* extra: Array<{name: string, source: string}> | |
* }} | |
*/ | |
var getAssets = function (compilation) { | |
var EXTRA_ASSETS_CHUNK_NAME = '__extra_assets__'; | |
var stats = compilation.getStats().toJson(); |
function getAdditionalAssets(compilation) { | |
var stats = compilation.getStats().toJson(); | |
var modules = stats.modules; | |
var chunks = {}; | |
modules.forEach(function (module) { | |
var moduleChunks = module.chunks; | |
var isNormalModule = module.chunks.length > 0 && module.assets.length == 0; | |
if (isNormalModule) | |
return; |