@@ -10,6 +10,7 @@ abstract class FeatureRenderer {
1010
1111class FeatureRendererHtml extends FeatureRenderer {
1212 static final FeatureRendererHtml _instance = FeatureRendererHtml ._();
13+
1314 factory FeatureRendererHtml () {
1415 return _instance;
1516 }
@@ -18,27 +19,35 @@ class FeatureRendererHtml extends FeatureRenderer {
1819
1920 @override
2021 String renderFeatureLabel (LanguageFeature feature) {
21- var spanClasses = < String > [];
22- spanClasses.add ('feature' );
23- spanClasses
24- .add ('feature-${feature .name .split (' ' ).join ('-' ).toLowerCase ()}' );
25-
26- var buf = StringBuffer ();
27- buf.write (
28- '<span class="${spanClasses .join (' ' )}" title="${feature .featureDescription }">${feature .name }</span>' );
29- return buf.toString ();
22+ final classesText = [
23+ 'feature' ,
24+ 'feature-${feature .name .split (' ' ).join ('-' ).toLowerCase ()}'
25+ ].join (' ' );
26+
27+ if (feature.featureUrl != null ) {
28+ return '<a href="${feature .featureUrl }" class="${classesText }"'
29+ ' title="${feature .featureDescription }">${feature .name }</a>' ;
30+ }
31+
32+ return '<span class="${classesText }" '
33+ 'title="${feature .featureDescription }">${feature .name }</span>' ;
3034 }
3135}
3236
3337class FeatureRendererMd extends FeatureRenderer {
3438 static final FeatureRendererMd _instance = FeatureRendererMd ._();
39+
3540 factory FeatureRendererMd () {
3641 return _instance;
3742 }
3843
3944 FeatureRendererMd ._();
45+
4046 @override
4147 String renderFeatureLabel (LanguageFeature feature) {
48+ if (feature.featureUrl != null ) {
49+ return '*[\< ${feature .name }\> ](${feature .featureUrl })*' ;
50+ }
4251 return '*\< ${feature .name }\> *' ;
4352 }
4453}
0 commit comments