diff --git a/packages/notus/lib/src/convert/html.dart b/packages/notus/lib/src/convert/html.dart
index 74f37f9e8..aaf2b9c28 100644
--- a/packages/notus/lib/src/convert/html.dart
+++ b/packages/notus/lib/src/convert/html.dart
@@ -283,8 +283,6 @@ class _NotusHTMLEncoder extends Converter {
_writeBlockTag(buffer, attribute, close: close);
} else if (attribute.key == NotusAttribute.embed.key) {
_writeEmbedTag(buffer, attribute, close: close);
- } else if (attribute.key == NotusAttribute.container.key) {
- // do nothing
} else {
throw new ArgumentError('Cannot handle $attribute');
}
diff --git a/packages/notus/lib/src/document/attributes.dart b/packages/notus/lib/src/document/attributes.dart
index b222b1232..ec211b823 100644
--- a/packages/notus/lib/src/document/attributes.dart
+++ b/packages/notus/lib/src/document/attributes.dart
@@ -40,6 +40,7 @@ abstract class NotusAttributeBuilder implements NotusAttributeKey {
final String key;
final NotusAttributeScope scope;
+
NotusAttribute get unset => NotusAttribute._(key, scope, null);
NotusAttribute withValue(T value) =>
NotusAttribute._(key, scope, value);
@@ -77,7 +78,6 @@ class NotusAttribute implements NotusAttributeBuilder {
NotusAttribute.heading.key: NotusAttribute.heading,
NotusAttribute.block.key: NotusAttribute.block,
NotusAttribute.embed.key: NotusAttribute.embed,
- NotusAttribute.container.key: NotusAttribute.container,
};
// Inline attributes
@@ -127,9 +127,6 @@ class NotusAttribute implements NotusAttributeBuilder {
// ignore: const_eval_throws_exception
static const embed = EmbedAttributeBuilder._();
- /// Container attribute
- static const container = const ContainerAttributeBuilder._();
-
static NotusAttribute _fromKeyValue(String key, dynamic value) {
if (!_registry.containsKey(key)) {
throw ArgumentError.value(
@@ -337,6 +334,7 @@ class _ItalicAttribute extends NotusAttribute {
/// [NotusAttribute.link] instead.
class LinkAttributeBuilder extends NotusAttributeBuilder {
static const _kLink = 'a';
+
const LinkAttributeBuilder._() : super._(_kLink, NotusAttributeScope.inline);
/// Creates a link attribute with specified link [value].
@@ -350,6 +348,7 @@ class LinkAttributeBuilder extends NotusAttributeBuilder {
/// [NotusAttribute.heading] instead.
class HeadingAttributeBuilder extends NotusAttributeBuilder {
static const _kHeading = 'heading';
+
const HeadingAttributeBuilder._()
: super._(_kHeading, NotusAttributeScope.line);
@@ -369,6 +368,7 @@ class HeadingAttributeBuilder extends NotusAttributeBuilder {
/// [NotusAttribute.block] instead.
class BlockAttributeBuilder extends NotusAttributeBuilder {
static const _kBlock = 'block';
+
const BlockAttributeBuilder._() : super._(_kBlock, NotusAttributeScope.line);
/// Formats a block of lines as a bullet list.
@@ -458,49 +458,3 @@ class EmbedAttribute extends NotusAttribute