Skip to content
Snippets Groups Projects
Commit 28078629 authored by Kathy Walrath's avatar Kathy Walrath Committed by GitHub
Browse files

Merge pull request #324 from google/tweaks

Tweaks
parents 34e583b8 18ce9824
No related branches found
No related tags found
No related merge requests found
......@@ -52,28 +52,28 @@ SVRZIE9GIFNVQ0ggREFNQUdFLgo=""",
"""Ly8gQ29weXJpZ2h0IChjKSBfX3llYXJfXywgX19hdXRob3JfXy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUKLy8gaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUg
bGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgpASHRtbEltcG9y
dCgnbWFpbl9hcHAuaHRtbCcpCmxpYnJhcnkgX19wcm9qZWN0TmFtZV9fLmxpYi5tYWluX2FwcDsJ
CQoKaW1wb3J0ICdkYXJ0Omh0bWwnOwoKaW1wb3J0ICdwYWNrYWdlOnBvbHltZXJfZWxlbWVudHMv
cGFwZXJfaW5wdXQuZGFydCc7CmltcG9ydCAncGFja2FnZTpwb2x5bWVyL3BvbHltZXIuZGFydCc7
CmltcG9ydCAncGFja2FnZTp3ZWJfY29tcG9uZW50cy93ZWJfY29tcG9uZW50cy5kYXJ0JzsKCi8v
LyBVc2VzIFtQYXBlcklucHV0XQpAUG9seW1lclJlZ2lzdGVyKCdtYWluLWFwcCcpCmNsYXNzIE1h
aW5BcHAgZXh0ZW5kcyBQb2x5bWVyRWxlbWVudCB7CiAgQHByb3BlcnR5CiAgU3RyaW5nIHRleHQ7
CgogIC8vLyBDb25zdHJ1Y3RvciB1c2VkIHRvIGNyZWF0ZSBpbnN0YW5jZSBvZiBNYWluQXBwLgog
IE1haW5BcHAuY3JlYXRlZCgpIDogc3VwZXIuY3JlYXRlZCgpOwoKICBAcmVmbGVjdGFibGUKICBT
dHJpbmcgcmV2ZXJzZVRleHQoU3RyaW5nIHRleHQpIHsKICAgIHJldHVybiB0ZXh0LnNwbGl0KCcn
KS5yZXZlcnNlZC5qb2luKCcnKTsKICB9CgogIC8vIE9wdGlvbmFsIGxpZmVjeWNsZSBtZXRob2Rz
IC0gdW5jb21tZW50IGlmIG5lZWRlZC4KCi8vICAvLy8gQ2FsbGVkIHdoZW4gYW4gaW5zdGFuY2Ug
b2YgbWFpbi1hcHAgaXMgaW5zZXJ0ZWQgaW50byB0aGUgRE9NLgovLyAgYXR0YWNoZWQoKSB7Ci8v
ICAgIHN1cGVyLmF0dGFjaGVkKCk7Ci8vICB9CgovLyAgLy8vIENhbGxlZCB3aGVuIGFuIGluc3Rh
bmNlIG9mIG1haW4tYXBwIGlzIHJlbW92ZWQgZnJvbSB0aGUgRE9NLgovLyAgZGV0YWNoZWQoKSB7
Ci8vICAgIHN1cGVyLmRldGFjaGVkKCk7Ci8vICB9CgovLyAgLy8vIENhbGxlZCB3aGVuIGFuIGF0
dHJpYnV0ZSAoc3VjaCBhcyBhIGNsYXNzKSBvZiBhbiBpbnN0YW5jZSBvZgovLyAgLy8vIG1haW4t
YXBwIGlzIGFkZGVkLCBjaGFuZ2VkLCBvciByZW1vdmVkLgovLyAgYXR0cmlidXRlQ2hhbmdlZChT
dHJpbmcgbmFtZSwgU3RyaW5nIG9sZFZhbHVlLCBTdHJpbmcgbmV3VmFsdWUpIHsKLy8gICAgc3Vw
ZXIuYXR0cmlidXRlQ2hhbmdlZChuYW1lLCBvbGRWYWx1ZSwgbmV3VmFsdWUpOwovLyAgfQoKLy8g
IC8vLyBDYWxsZWQgd2hlbiBtYWluLWFwcCBoYXMgYmVlbiBmdWxseSBwcmVwYXJlZCAoU2hhZG93
IERPTSBjcmVhdGVkLAovLyAgLy8vIHByb3BlcnR5IG9ic2VydmVycyBzZXQgdXAsIGV2ZW50IGxp
c3RlbmVycyBhdHRhY2hlZCkuCi8vICByZWFkeSgpIHsKLy8gIH0KfQo=""",
dCgnbWFpbl9hcHAuaHRtbCcpCmxpYnJhcnkgX19wcm9qZWN0TmFtZV9fLmxpYi5tYWluX2FwcDsK
CmltcG9ydCAnZGFydDpodG1sJzsKCmltcG9ydCAncGFja2FnZTpwb2x5bWVyX2VsZW1lbnRzL3Bh
cGVyX2lucHV0LmRhcnQnOwppbXBvcnQgJ3BhY2thZ2U6cG9seW1lci9wb2x5bWVyLmRhcnQnOwpp
bXBvcnQgJ3BhY2thZ2U6d2ViX2NvbXBvbmVudHMvd2ViX2NvbXBvbmVudHMuZGFydCc7CgovLy8g
VXNlcyBbUGFwZXJJbnB1dF0KQFBvbHltZXJSZWdpc3RlcignbWFpbi1hcHAnKQpjbGFzcyBNYWlu
QXBwIGV4dGVuZHMgUG9seW1lckVsZW1lbnQgewogIEBwcm9wZXJ0eQogIFN0cmluZyB0ZXh0OwoK
ICAvLy8gQ29uc3RydWN0b3IgdXNlZCB0byBjcmVhdGUgaW5zdGFuY2Ugb2YgTWFpbkFwcC4KICBN
YWluQXBwLmNyZWF0ZWQoKSA6IHN1cGVyLmNyZWF0ZWQoKTsKCiAgQHJlZmxlY3RhYmxlCiAgU3Ry
aW5nIHJldmVyc2VUZXh0KFN0cmluZyB0ZXh0KSB7CiAgICByZXR1cm4gdGV4dC5zcGxpdCgnJyku
cmV2ZXJzZWQuam9pbignJyk7CiAgfQoKICAvLyBPcHRpb25hbCBsaWZlY3ljbGUgbWV0aG9kcyAt
IHVuY29tbWVudCBpZiBuZWVkZWQuCgovLyAgLy8vIENhbGxlZCB3aGVuIGFuIGluc3RhbmNlIG9m
IG1haW4tYXBwIGlzIGluc2VydGVkIGludG8gdGhlIERPTS4KLy8gIGF0dGFjaGVkKCkgewovLyAg
ICBzdXBlci5hdHRhY2hlZCgpOwovLyAgfQoKLy8gIC8vLyBDYWxsZWQgd2hlbiBhbiBpbnN0YW5j
ZSBvZiBtYWluLWFwcCBpcyByZW1vdmVkIGZyb20gdGhlIERPTS4KLy8gIGRldGFjaGVkKCkgewov
LyAgICBzdXBlci5kZXRhY2hlZCgpOwovLyAgfQoKLy8gIC8vLyBDYWxsZWQgd2hlbiBhbiBhdHRy
aWJ1dGUgKHN1Y2ggYXMgYSBjbGFzcykgb2YgYW4gaW5zdGFuY2Ugb2YKLy8gIC8vLyBtYWluLWFw
cCBpcyBhZGRlZCwgY2hhbmdlZCwgb3IgcmVtb3ZlZC4KLy8gIGF0dHJpYnV0ZUNoYW5nZWQoU3Ry
aW5nIG5hbWUsIFN0cmluZyBvbGRWYWx1ZSwgU3RyaW5nIG5ld1ZhbHVlKSB7Ci8vICAgIHN1cGVy
LmF0dHJpYnV0ZUNoYW5nZWQobmFtZSwgb2xkVmFsdWUsIG5ld1ZhbHVlKTsKLy8gIH0KCi8vICAv
Ly8gQ2FsbGVkIHdoZW4gbWFpbi1hcHAgaGFzIGJlZW4gZnVsbHkgcHJlcGFyZWQgKFNoYWRvdyBE
T00gY3JlYXRlZCwKLy8gIC8vLyBwcm9wZXJ0eSBvYnNlcnZlcnMgc2V0IHVwLCBldmVudCBsaXN0
ZW5lcnMgYXR0YWNoZWQpLgovLyAgcmVhZHkoKSB7Ci8vICB9Cn0K""",
"lib/main_app.html",
"text",
"""PCEtLQogIENvcHlyaWdodCAoYykgX195ZWFyX18sIF9fYXV0aG9yX18uIEFsbCByaWdodHMgcmVz
......
......@@ -6,9 +6,7 @@
* Some utility methods for stagehand.
*/
import 'dart:convert' show UTF8;
import 'package:crypto/crypto.dart';
import 'dart:convert' show BASE64, UTF8;
import '../stagehand.dart';
......@@ -17,15 +15,17 @@ const int _RUNE_SPACE = 32;
final _substitueRegExp = new RegExp(r'__([a-zA-Z]+)__');
final _nonValidSubstitueRegExp = new RegExp('[^a-zA-Z]');
final _whiteSpace = new RegExp(r'\s+');
List<TemplateFile> decodeConcatenatedData(List<String> data) {
List<TemplateFile> results = [];
for (int i = 0; i < data.length; i += 3) {
String path = data[i];
String type = data[i + 1];
String raw = data[i + 2];
String raw = data[i + 2].replaceAll(_whiteSpace, '');
List<int> decoded = CryptoUtils.base64StringToBytes(raw);
List<int> decoded = BASE64.decode(raw);
if (type == 'binary') {
results.add(new TemplateFile.fromBinary(path, decoded));
......
......@@ -4,7 +4,7 @@
name: stagehand
# When changing this version, change the lib/src/cli_app.dart version as well.
version: 1.0.9
version: 1.0.10-dev
description: >
A scaffolding generator for your Dart projects. Stagehand helps you get set
up!
......@@ -15,7 +15,7 @@ authors:
- Kathy Walrath <kathyw@google.com>
environment:
sdk: '>=1.9.0 <2.0.0'
sdk: '>=1.13.0 <2.0.0'
# Add the bin/stagehand.dart script to the scripts pub installs.
executables:
......@@ -23,14 +23,13 @@ executables:
dependencies:
args: '>=0.12.0+1 <0.14.0'
crypto: ^0.9.0
http: ^0.11.0
path: ^1.3.0
usage: ^1.0.0
dev_dependencies:
browser: ^0.10.0
ghpages_generator: ^0.2.4
ghpages_generator: ^0.3.0
grinder: ^0.8.0
test: ^0.12.0
yaml: ^2.1.2
// Copyright (c) __year__, __author__. All rights reserved. Use of this source code
// is governed by a BSD-style license that can be found in the LICENSE file.
@HtmlImport('main_app.html')
library __projectName__.lib.main_app;
library __projectName__.lib.main_app;
import 'dart:html';
......
......@@ -3,8 +3,9 @@
// license that can be found in the LICENSE file.
import 'dart:io';
import 'dart:convert';
import 'dart:math' as math;
import 'package:crypto/crypto.dart';
import 'package:ghpages_generator/ghpages_generator.dart' as ghpages;
import 'package:grinder/grinder.dart';
import 'package:path/path.dart' as path;
......@@ -95,8 +96,24 @@ Iterable<String> _traverse(Directory dir, String root) sync* {
} else {
yield '${root}${name}';
yield _isBinaryFile(name) ? 'binary' : 'text';
yield BASE64.encode((entity as File).readAsBytesSync(),
addLineSeparator: true);
var encoded = BASE64.encode((entity as File).readAsBytesSync());
//
// Logic to cut lines into 76-character chunks
// – makes for prettier source code
//
var lines = <String>[];
var index = 0;
while (index < encoded.length) {
var line =
encoded.substring(index, math.min(index + 76, encoded.length));
lines.add(line);
index += line.length;
}
yield lines.join('\r\n');
}
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment