// Copyright 2016 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'package:flutter/material.dart'; import 'markdown.dart'; import 'markdown_style_raw.dart'; /// Style used for rendering markdown formatted text using the [MarkdownBody] /// widget. class MarkdownStyle extends MarkdownStyleRaw{ /// Creates a [MarkdownStyle] from the [TextStyle]s in the provided [theme]. MarkdownStyle.defaultFromTheme(ThemeData theme) : super( a: new TextStyle(color: Colors.blue[500]), p: theme.textTheme.body1, code: new TextStyle( color: Colors.grey[700], fontFamily: "monospace", fontSize: theme.textTheme.body1.fontSize * 0.85 ), h1: theme.textTheme.headline, h2: theme.textTheme.title, h3: theme.textTheme.subhead, h4: theme.textTheme.body2, h5: theme.textTheme.body2, h6: theme.textTheme.body2, em: const TextStyle(fontStyle: FontStyle.italic), strong: const TextStyle(fontWeight: FontWeight.bold), blockquote: theme.textTheme.body1, blockSpacing: 8.0, listIndent: 32.0, blockquotePadding: 8.0, blockquoteDecoration: new BoxDecoration( backgroundColor: Colors.blue[100], borderRadius: new BorderRadius.circular(2.0) ), codeblockPadding: 8.0, codeblockDecoration: new BoxDecoration( backgroundColor: Colors.grey[100], borderRadius: new BorderRadius.circular(2.0) ) ); /// Creates a [MarkdownStyle] from the [TextStyle]s in the provided [theme]. /// This style uses larger fonts for the headings than in /// [MarkdownStyle.defaultFromTheme]. MarkdownStyle.largeFromTheme(ThemeData theme) : super ( a: new TextStyle(color: Colors.blue[500]), p: theme.textTheme.body1, code: new TextStyle( color: Colors.grey[700], fontFamily: "monospace", fontSize: theme.textTheme.body1.fontSize * 0.85 ), h1: theme.textTheme.display3, h2: theme.textTheme.display2, h3: theme.textTheme.display1, h4: theme.textTheme.headline, h5: theme.textTheme.title, h6: theme.textTheme.subhead, em: const TextStyle(fontStyle: FontStyle.italic), strong: const TextStyle(fontWeight: FontWeight.bold), blockquote: theme.textTheme.body1, blockSpacing: 8.0, listIndent: 32.0, blockquotePadding: 8.0, blockquoteDecoration: new BoxDecoration( backgroundColor: Colors.blue[100], borderRadius: new BorderRadius.circular(2.0) ), codeblockPadding: 8.0, codeblockDecoration: new BoxDecoration( backgroundColor: Colors.grey[100], borderRadius: new BorderRadius.circular(2.0) ) ); }