src/main/java/com/ruleoftech/markdown/page/generator/plugin/MdPageGeneratorMojo.java
private Map<String, Attributes> processAttributes(String[] attributeList) {
        HashMap<String, Attributes> nodeAttributeMap = new HashMap<>();

        for (String attribute : attributeList) {
            String[] nodeAttributes = attribute.split("\\|");
            Attributes attributes = new Attributes();
            for (int i = 1; i < nodeAttributes.length; i++) {
                String[] attributeNameValue = nodeAttributes[i].split("=", 2);
                if (attributeNameValue.length > 1) {
                    String value = attributeNameValue[1];
                    if (!value.isEmpty()) {
                        if (value.charAt(0) == '"' && value.charAt(value.length() - 1) == '"') {
                            value = value.substring(1, value.length() - 1);
                        } else if (value.charAt(0) == '\'' && value.charAt(value.length() - 1) == '\'') {
                            value = value.substring(1, value.length() - 1);
                        }
                    }
                    attributes.addValue(attributeNameValue[0], value);
                } else {
                    attributes.addValue(attributeNameValue[0], attributeNameValue[0]);
                }
            }
            nodeAttributeMap.put(nodeAttributes[0], attributes);
        }
        return nodeAttributeMap;
    }
private Map<String, Attributes> processAttributes(String[] attributeList) {
        HashMap<String, Attributes> nodeAttributeMap = new HashMap<>();

        for (String attribute : attributeList) {
            String[] nodeAttributes = attribute.split("\\|");
            Attributes attributes = new Attributes();
            for (int i = 1; i < nodeAttributes.length; i++) {
                String[] attributeNameValue = nodeAttributes[i].split("=", 2);
                if (attributeNameValue.length > 1) {
                    String value = attributeNameValue[1];
                    if (!value.isEmpty()) {
                        if (value.charAt(0) == '"' && value.charAt(value.length() - 1) == '"') {
                            value = value.substring(1, value.length() - 1);
                        } else if (value.charAt(0) == '\'' && value.charAt(value.length() - 1) == '\'') {
                            value = value.substring(1, value.length() - 1);
                        }
                    }
                    attributes.addValue(attributeNameValue[0], value);
                } else {
                    attributes.addValue(attributeNameValue[0], attributeNameValue[0]);
                }
            }
            nodeAttributeMap.put(nodeAttributes[0], attributes);
        }
        return nodeAttributeMap;
    }
private Map < String , Attributes > processAttributes ( String [ ] attributeList ) { HashMap < String , Attributes > nodeAttributeMap = new HashMap <> ( ) ; for ( String attribute : attributeList ) { String [ ] nodeAttributes = attribute . split ( "\\|" ) ; Attributes attributes = new Attributes ( ) ; for ( int i = 1 ; i < nodeAttributes . length ; i ++ ) { String [ ] attributeNameValue = nodeAttributes [ i ] . split ( "=" , 2 ) ; if ( attributeNameValue . length > 1 ) { String value = attributeNameValue [ 1 ] ; if ( ! value . isEmpty ( ) ) { if ( value . charAt ( 0 ) == ' ' && value . charAt ( value . length ( ) - 1 ) == ' ' ) { value = value . substring ( 1 , value . length ( ) - 1 ) ; } else if ( value . charAt ( 0 ) == ' ' && value . charAt ( value . length ( ) - 1 ) == ' ' ) { value = value . substring ( 1 , value . length ( ) - 1 ) ; } } attributes . addValue ( attributeNameValue [ 0 ] , value ) ; } else { attributes . addValue ( attributeNameValue [ 0 ] , attributeNameValue [ 0 ] ) ; } } nodeAttributeMap . put ( nodeAttributes [ 0 ] , attributes ) ; } return nodeAttributeMap ; }
Parse attributes of the form NodeName:attributeName=attribute value:attributeName=attribute value...

@param attributeList list of attributes
@return map of Node class to attributable part and attributes
Parse attributes of the form NodeName : attributeName = attribute value : attributeName = attribute value ...