Browse Source

【DesignToken】添加注释

liuxiaolong 2 years ago
parent
commit
906faf8c33

+ 27 - 1
lib_material_tokens/src/main/java/com/kdanmobile/android/lib/material/tokens/MdToken.kt

@@ -3,13 +3,39 @@ package com.kdanmobile.android.lib.material.tokens
 import com.kdanmobile.android.lib.material.tokens.category.MdParseUtil
 
 
-
+/**
+ * 运行解析token, 生成对应文件
+ * 目前只解析 global.json、alias-light.json
+ *
+ * 请注意一下问题:
+ * comp-light.json 组合token未解析,过于太多, 具体使用时再手动解析比较节约时间
+ *
+ * global.json 中以下token类型为进行解析
+ * text-mac : 字体token, 目前不太可能在安卓引入字体使用,没有解析,可以具体用的时候手动添加
+ * shadow   : View阴影, 不太好解析生成
+ * text-windows : 字体token, 理由同上
+ *
+ * alias-light.json 以下token类型未解析
+ * shadow  : View阴影, 同上
+ * text    : 字体token别名, 理由同上
+ *
+ *
+ * 如果需要修改token保存后的文件保存名称请查看
+ * @see com.kdanmobile.android.lib.material.tokens.category.ParseTokenFactory
+ *
+ *
+ */
 fun main() {
 
+    //解析global.json token
     val globalTokenUtil = MdParseUtil(TokenJsonType.Global, "./lib_material_tokens/src/tokens/global.json","./lib_material_tokens/src/")
     globalTokenUtil.start()
 
+    //解析alias-light.json token
     val aliasTokenParse = MdParseUtil(TokenJsonType.Alias, "./lib_material_tokens/src/tokens/alias-light.json","./lib_material_tokens/src/")
     aliasTokenParse.start()
 
+
+
+
 }

+ 1 - 1
lib_material_tokens/src/main/java/com/kdanmobile/android/lib/material/tokens/base/BaseXmlHandler.kt

@@ -6,7 +6,7 @@ import org.xml.sax.helpers.DefaultHandler
  * @classname:
  * @author: LiuXiaoLong
  * @date: 2023/2/13
- * description:
+ * description: 基础的解析xml类
  */
 open class BaseXmlHandler : DefaultHandler() {
 

+ 3 - 1
lib_material_tokens/src/main/java/com/kdanmobile/android/lib/material/tokens/base/DataExtension.kt

@@ -8,7 +8,9 @@ package com.kdanmobile.android.lib.material.tokens.base
  */
 
 
-
+/**
+ * 替换json 值的无意义字符
+ */
 fun String.replaceInvalidStr() : String{
     return this.replace("-","_").replace(".", "_").replace("{", "").replace("}","")
 

+ 8 - 1
lib_material_tokens/src/main/java/com/kdanmobile/android/lib/material/tokens/base/FileUtil.kt

@@ -14,7 +14,7 @@ object FileUtil {
     /**
      * 写入token
      * @param file 写入的文件
-     * @param xmlItemName 条目名称: integer、color...
+     * @param xmlItemName 条目名称: dimen、color...
      * @param token 写入的数据
      */
     fun writeTokens(file: File, xmlItemName : XmlParserDataCategory, token : List<Pair<String, String>>){
@@ -30,6 +30,13 @@ object FileUtil {
     }
 
 
+    /**
+     * 解析已存在的文件,然后合并当前新增的token
+     * @param tag 日志标签
+     * @param file 要保存的文件位置file
+     * @param baseXmlHandler 解析已存在的xml类
+     * @param inputMap 输入的新增数据
+     */
     fun parseAndMergeOldData(tag : String, file: File, baseXmlHandler: BaseXmlHandler, inputMap: Map<String, String>): List<Pair<String, String>>{
         val outPutMap = mutableMapOf<String, String>()
         if (file.exists()) {

+ 2 - 2
lib_material_tokens/src/main/java/com/kdanmobile/android/lib/material/tokens/category/borderradius/AliasBorderRadiusParse.kt

@@ -10,13 +10,13 @@ import java.io.File
  * @classname:
  * @author: LiuXiaoLong
  * @date: 2023/2/13
- * description: 解析Sizing相关token
+ * description: 解析Alias Border Radius相关token
  */
 class AliasBorderRadiusParse : IParseToken {
 
     private var result = hashMapOf<String, String>()
 
-    private var tag = "解析AliasBorderRadius"
+    private var tag = "解析 Alias BorderRadius"
 
 
     override fun parse(rootKey: String, jsonObject: JSONObject) {

+ 1 - 1
lib_material_tokens/src/main/java/com/kdanmobile/android/lib/material/tokens/category/borderradius/BorderRadiusParse.kt

@@ -10,7 +10,7 @@ import java.io.File
  * @classname:
  * @author: LiuXiaoLong
  * @date: 2023/2/13
- * description: 解析Sizing相关token
+ * description: 解析BorderRadius相关token
  */
 class BorderRadiusParse : IParseToken {
 

+ 4 - 2
lib_material_tokens/src/main/java/com/kdanmobile/android/lib/material/tokens/category/borderwidth/BorderWidthParse.kt

@@ -10,7 +10,7 @@ import java.io.File
  * @classname:
  * @author: LiuXiaoLong
  * @date: 2023/2/13
- * description: 解析Border_width相关token
+ * description: 解析BorderWidth相关token
  */
 class BorderWidthParse : IParseToken {
 
@@ -26,7 +26,7 @@ class BorderWidthParse : IParseToken {
             val value = jsonObject.get(key)
             val names = (value as JSONObject).names()
             if (names.length() == 2 && names.getString(0).equals("type") || names.getString(0).equals("value")) {
-                val sizingValue = value.getString("value")
+                val sizingValue = value.getString("value").replaceInvalidStr()
                 result["${rootKey}_${key}"] = sizingValue
             } else {
                 parse("${rootKey}_$key", value)
@@ -57,7 +57,9 @@ class BorderWidthParse : IParseToken {
             }.map {
                 it.first to it.second +"dp"
             }
+
         FileUtil.writeTokens(file, XmlParserDataCategory.dimen, outputData)
+
         logT(tag, "解析生成文件完成-----")
 
     }

+ 2 - 2
lib_material_tokens/src/main/java/com/kdanmobile/android/lib/material/tokens/category/color/AliasColorParse.kt

@@ -11,13 +11,13 @@ import javax.xml.parsers.SAXParserFactory
  * @classname:
  * @author: LiuXiaoLong
  * @date: 2023/2/13
- * description: 解析Sizing相关token
+ * description: 解析Alias Color相关token
  */
 class AliasColorParse : IParseToken {
 
     private var result = hashMapOf<String, String>()
 
-    private var tag = "解析Color"
+    private var tag = "解析Alias Color"
 
 
     override fun parse(rootKey: String, jsonObject: JSONObject) {

+ 3 - 3
lib_material_tokens/src/main/java/com/kdanmobile/android/lib/material/tokens/category/color/ColorParse.kt

@@ -11,7 +11,7 @@ import javax.xml.parsers.SAXParserFactory
  * @classname:
  * @author: LiuXiaoLong
  * @date: 2023/2/13
- * description: 解析Sizing相关token
+ * description: 解析Global.json Color相关token
  */
 class ColorParse : IParseToken {
 
@@ -27,8 +27,8 @@ class ColorParse : IParseToken {
             val value = jsonObject.get(key)
             val names = (value as JSONObject).names()
             if (names.length() == 2 && names.getString(0).equals("type") || names.getString(0).equals("value")) {
-                val colorValue = value.getString("value")
-                val key = "${rootKey}_${key}".replaceInvalidStr()
+                val colorValue = value.getString("value").replaceInvalidStr()
+                val key = "${rootKey}_${key}"
                 result[key] = colorValue
             } else {
                 parse("${rootKey}_$key", value)

+ 1 - 1
lib_material_tokens/src/main/java/com/kdanmobile/android/lib/material/tokens/category/spacing/AliasSpacingParse.kt

@@ -10,7 +10,7 @@ import java.io.File
  * @classname:
  * @author: LiuXiaoLong
  * @date: 2023/2/20
- * description:
+ * description: 解析alias-light.json 中Spacing 相关数据
  */
 class AliasSpacingParse : IParseToken {
     var result = hashMapOf<String, String>()