It goes without saying that LEGO® does an amazing job designing their sets with themes such as Star Wars, Batman, Ninjago and City as just a few examples. For some people, though it’s just not enough and they want to get creative, use their imagination and have fun thinking outside the box. This is where LEGO® building books come in…
There are loads of books available on the market which give you hints, tips, and techniques that help get those creative juices flowing! We have trawled through the internet and local book stores to find and pick out the Top 16 LEGO® building books for you. So without any further delay here they are…
1. LEGO® Awesome Ideas
Become a master builder with the LEGO® Awesome Ideas book by DK. This book is perfect for anyone who loves LEGO, from beginners to expert builders, this book will ensure you have enough creative ideas, tips, and techniques to keep you building for years to come!
Our Score: 10 / 10
2. 365 Things to Do with LEGO® Bricks
This book by DK will keep you busy all year long with inspiring topics, fun builds and even timed challenges using the timer that comes free with this book! In 2016 this book won the Best Book category Creative Play Awards, so you are sure you are going to receive a fun packed exciting book to keep you busy.
Our Score: 9.8 / 10
3. LEGO® Minifigure Handbook Paperback
If you are fans of minifigures then this book is going to be for you! Hannah Dolan (also known for the LEGO Star Wars Character Encyclopedia book) captures even the finest detail of each minifigure. This fun packed easy read book looks at all of the best minifigures over the past 40 years so be prepared to not be able to put this one down!
Our Score: 9.8 / 10
4. LEGO® DC Super Heroes Character Encyclopedia
Are you a fan of LEGO® DC? If so, you are not going to want to miss out on this book from DK. You will be able to wow your friends with the DC super hero facts that have never been seen before. If it wasn’t enough that the book is packed full of DC information and fun facts, but you will also receive a FREE exclusive pirate batman minifgure!!
Our Score: 9.5 / 10
5. Klutz: LEGO® Chain Reactions
For some making LEGO® models is just not enough, if this sounds like you or your kids then this book is perfect. Pat Murphy will make your imagination go wild with LEGO® builds that you have never seen or imagined possible before!
Our Score: 9.3 / 10
6. Awesome LEGO® Creations with Bricks You Already Have
Sarah Dees is the mum behind the popular children’s blog Frugal Fun for Boys, she is the author behind this incredibly fun LEGO® book. You will get a lot from this book, as is with their website its packed full of instructional builds, how-to guides and a bucket load of pictures!
Our Score: 9.2 / 10
7. LEGO® City Build Your Own Adventure
This book is packed of ideas that you can use to build your own LEGO® City, with DK including 50+ ideas it will keep you and your kids busy for sure. This book is perfect for all ages and skill levels.
Our Score: 9.2 / 10
8. LEGO® Amazing Vehicles
With over 100 LEGO® models this book is a must have if you want to keep busy. Not only have DK jam packed so many builds from hot air balloon to fire engine they also include four exclusive LEGO® mini models for you to build as well.
Our Score: 9 / 10
9. The LEGO® Ideas Book
Get ready to be inspired! Daniel Lipkowitz has pulled out over 500 models and ideas for you to build! Expect to see a massive range of ideas over the six themes they have included (transport, buildings, space, kingdoms, adventure, and useful makes). An awesome book that will give you hours of endless fun.
Our Score: 9 / 10
10. LEGO® Make Your Own Movie (Klutz)
Have you ever wanted to be a director of your own movie? Well now you can, Pat Murphy has detailed step by step instructions covernig how to create your very own stop motion LEGO® movies! Use your phone, tablet or computer to create endless amounts of movies with the mix-and-match story starter ideas!
Our Score: 8.9 / 10
11. LEGO® Absolutely Everything You Need to Know
Do you want to WOW your friends and family with endless amount of LEGO® trivia knowledge? DK have collated every piece of info that you would ever need or want to know in to one book, for example did you know that there is a glass slipper hidden in the Disney Castle set?
Our Score: 8.7 / 10
12. Build It! Volume 1
This book is aimed at the younger generation of LEGO® master builders, Jennifer Kemmeter has crafted this book to include a lot of pictures and instructions for children around the age of 5 and up. There’s lots to fun to be had with this book, it’s a perfect way to get your kids using their imagination and enjoying the world of LEGO!
Our Score: 8.5 / 10
13. The LEGO® Architecture Idea Book
This book is aimed at the more advanced LEGO® builder, Alice Finch gives you the tools, tips and techniques to be able to turn that house you built when you were younger into an absolute structural masterpiece!
Our Score: 8.5 / 10
14. LEGO: The Book of Everything
This book is perfect for encouraging your kids to learn about everything and anything in the world. Scholastic use LEGO® minifigures and comic strips throughout the book to bring fun to learning keeping your kids begging to read on until the end!
Our Score: 8.4 / 10
15. Build It! Volume 2
Jennifer Kemmeter had great success with Build It! Vol 1 that she proceeded to write another fun packed book for the LEGO® lover to keep busy. Expect to see how to use the LEGO® Classic set to make things like dinosaurs, boats, and desert scenes!
Our Score: 8 / 10
16. Build It! Volume 3
Again another by Jennifer Kemmeter, as if the first two Built it volumes were not enough she has managed to create another volume jammed full of even more ideas that you can use to build figures, sets and scenes using the bricks you have most LEGO® lovers will already have at home!
Our Score: 7.8 / 10
<div class="badge-base LI-profile-badge" data-locale="en_US" data-size="large" data-theme="dark" data-type="HORIZONTAL" data-vanity="ferdi-vol" data-version="v1"><a class="badge-base__link LI-simple-link" href="https://www.linkedin.com/in/%E2%9C%85-ferdi-vol-corporate-gifts/?trk=profile-badge"></a></div>
/* Auto generated, hash = 5dceu9kevqjdyuy2uw1atqrsu */
//TODO: Break this file down so that we can actually unit test it.
(function(window) {
/**
* Renders all unrendred LinkedIn Badges on the page
*/
window.LIRenderAll = function () {
var CALLBACK_NAME = 'LIBadgeCallback', //Must match callback on helpers.js
BADGE_NAMES = '.LI-profile-badge, .LI-entity-badge',
// TODO -- tracking param for other badge types
TRACKING_PARAM = 'profile-badge',
responsesReceived = 0, //Keeps track of number of responses recieved for proper cleanup when finished
expectedResponses = 0, //Keeps track of number of responses to expect
scripts = [ ], //Keeps track of scripts added for proper cleanup when finished
childScripts = {}, //Keeps track of child scripts to render
badges = Array.prototype.slice.call(document.querySelectorAll(BADGE_NAMES));
var i, len, badge, rendered;
for (i = 0, len = badges.length; i < len; i++) {
badge = badges[i];
rendered = badge.getAttribute('data-rendered');
if (!rendered) {
expectedResponses++;
badge.setAttribute('data-rendered', true);
renderBadge(badge);
}
}
function isCNDomain() {
if (typeof window !== "undefined") {
var hostName = window.location && window.location.hostname || '';
return (/linkedin(-ei)?.cn$/).test(hostName);
}
return false;
}
function generateUrl(isEI) {
var domainPrefix = isEI ? 'https://badges.linkedin-ei' : 'https://badges.linkedin';
if (isCNDomain()) {
return domainPrefix + ".cn/";
}
return domainPrefix + ".com/";
}
function getBadgeKeyQueryParams(badge) {
return Array.prototype.slice.call(badge.attributes).filter(function (attr) {
return attr.name.lastIndexOf('data-key-', 0) !== -1;
}).map(function (attr) {
// Most browsers automatically lowercase the attribute name when its being read
// We are calling lowercase on it again to ensure consistency for any browsers that are lagging behind.
return encodeURIComponent(attr.name.replace('data-', '').toLowerCase()) + '=' + encodeURIComponent(attr.value);
});
}
/*
* Renders a single badge on the page
* @param badge: div element of badge to render
*/
function renderBadge(badge) {
var size = badge.getAttribute('data-size'),
locale = badge.getAttribute('data-locale'),
type = badge.getAttribute('data-type'),
theme = badge.getAttribute('data-theme'),
vanity = badge.getAttribute('data-vanity'),
version = badge.getAttribute('data-version'),
isEI = badge.hasAttribute('data-ei'),
entity = badge.getAttribute('data-entity'),
isCreatePage = badge.hasAttribute('data-iscreate'),
uid = Math.round(1000000 * Math.random()),
baseUrl = generateUrl(isEI),
queryParams = [
'locale=' + encodeURIComponent(locale),
'badgetype=' + encodeURIComponent(type),
'badgetheme=' + encodeURIComponent(theme),
'uid=' + encodeURIComponent(uid),
'version=' + encodeURIComponent(version)
],
url;
if (version === 'v2') {
baseUrl += 'view';
queryParams.push('badgesize=' + encodeURIComponent(size));
queryParams.push('entity=' + encodeURIComponent(entity));
queryParams = queryParams.concat(getBadgeKeyQueryParams(badge));
} else {
baseUrl += 'profile';
queryParams.push('maxsize=' + encodeURIComponent(size));
queryParams.push('trk=' + encodeURIComponent(TRACKING_PARAM));
queryParams.push('vanityname=' + encodeURIComponent(vanity));
}
if (isCreatePage) {
queryParams.push('fromCreate=true');
}
url = baseUrl + '?' + queryParams.join('&');
badge.setAttribute('data-uid' , uid);
jsonp(url); //Calls responseHandler when done
}
/**
* Handles a response from the server. Finds badge matching badgeUid and inserts badgeHtml there
* @param badgeHtml: String representing contents of the badge
* @param badgeUid: UID of the badge to target
**/
function responseHandler(badgeHtml, badgeUid) {
responsesReceived ++;
var i, badge, uid, isCreate;
var defaultWidth = 330 // max possible width
var defaultHeight = 300 // max possible height
for (i = 0, len = badges.length; i < len; i++) {
badge = badges[i];
// isCreate needed to prevent reloading artdeco script tag
isCreate = badge.getAttribute('data-iscreate');
uid = parseInt(badge.getAttribute('data-uid'), 10);
if (uid === badgeUid) {
var badgeMarkup = `<body>${badgeHtml}</body>`
var iframe = document.createElement('iframe');
iframe.onload = function() {
var iframeBody = iframe.contentWindow.document.body;
// 5 px buffer to avoid the badge border being cut off.
iframe.setAttribute('height', (iframeBody.scrollHeight || defaultHeight) + 5);
iframe.setAttribute('width', (iframeBody.scrollWidth || defaultWidth) + 5);
};
iframe.setAttribute('frameBorder', '0');
iframe.style.display = 'block';
badge.appendChild(iframe);
iframe.contentWindow.document.open();
iframe.contentWindow.document.write(badgeMarkup);
iframe.contentWindow.document.close();
replaceScriptTags(badge, isCreate);
}
}
tryClean();
}
// These functions are needed because badge markup is added via innerHtml property which does not run script tags
function replaceScriptTags(node, isCreate) {
if (shouldReplaceNode(node, isCreate)) {
node.parentNode.replaceChild(cloneScriptNode(node), node);
childScripts[node.src] = true;
} else {
var i = 0,
children = node.childNodes;
while (i < children.length) {
replaceScriptTags(children[i++], isCreate);
}
}
return node;
}
function shouldReplaceNode(node, isCreate) {
return isScriptNode(node) && !childScripts[node.src] && (!isCreate || (isCreate && !node.getAttribute('data-isartdeco')));
}
function isScriptNode(node) {
return node.tagName === 'SCRIPT';
}
function cloneScriptNode(node){
var script = document.createElement("script");
for( var i = node.attributes.length-1; i >= 0; i-- ) {
script.setAttribute( node.attributes[i].name, node.attributes[i].value );
}
return script;
}
// Gets all incoming responses
window[CALLBACK_NAME] = responseHandler;
/**
* Tries to clean added tags
**/
function tryClean() {
//Clean up after all requests are done..
//Accounts for people including script more than once
var done = (responsesReceived >= expectedResponses && expectedResponses > 0) || responsesReceived >= badges.length;
if (done) {
delete window[CALLBACK_NAME];
// remove all script tags
scripts.map(function(script){
document.body.removeChild(script);
});
}
}
/*
* Makes Jsonp request, responses handles by CALLBACK_NAME
* @param url String: url of server to make request to
*/
function jsonp(url) {
var script = document.createElement('script');
script.src = url;
scripts.push(script);
document.body.appendChild(script);
}
};
if (document.readyState === 'complete') {
window.LIRenderAll();
} else {
window.addEventListener('load', window.LIRenderAll, false);
}
})(window);