mirror of
https://github.com/flutter/samples.git
synced 2025-11-09 22:38:42 +00:00
Add samples index (#359)
* 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>
This commit is contained in:
33
web/samples_index/lib/src/util.dart
Normal file
33
web/samples_index/lib/src/util.dart
Normal file
@@ -0,0 +1,33 @@
|
||||
// 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;
|
||||
});
|
||||
Reference in New Issue
Block a user