mirror of
https://github.com/flutter/samples.git
synced 2025-11-09 14:28:51 +00:00
* add samples_index to web/ directory Co-authored-by: Thea Flowers <theaflowers@google.com> * add pub_get.dart script * build sample index in peanut post build * re-generate sample index with web demos * print more details in peanut_post_build.dart * add images for demos * run generator * update README * add animations and provider shopper as symlinks * add links to symlinked web demos * use relative paths * update cookbook images, urls, and description CSS * use relative URL for navbar link * unstage HTML files * .gitignore generated HTML files * add margin to toolbar * rename escape functions * add and update copyright headers Co-authored-by: Thea Flowers <theaflowers@google.com>
33 lines
825 B
Dart
33 lines
825 B
Dart
// Copyright 2020 The Flutter team. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file
|
|
|
|
import 'dart:convert';
|
|
|
|
String indent(String content, int spaces) =>
|
|
LineSplitter.split(content).join('\n' + ' ' * spaces);
|
|
|
|
String kebabCase(String input) => _fixCase(input, '-');
|
|
|
|
String snakeCase(String input) => _fixCase(input, '_');
|
|
|
|
final _upperCase = RegExp('[A-Z]');
|
|
|
|
String pascalCase(String input) {
|
|
if (input.isEmpty) {
|
|
return '';
|
|
}
|
|
|
|
return input[0].toUpperCase() + input.substring(1);
|
|
}
|
|
|
|
String _fixCase(String input, String separator) =>
|
|
input.replaceAllMapped(_upperCase, (match) {
|
|
var lower = match.group(0).toLowerCase();
|
|
|
|
if (match.start > 0) {
|
|
lower = '$separator$lower';
|
|
}
|
|
|
|
return lower;
|
|
}); |