2 个不稳定版本
0.2.0 | 2020年5月19日 |
---|---|
0.1.0 | 2019年3月11日 |
在 解析器实现 中排名 #2558
每月下载 258 次
在 4 个(3 个直接)crates 中使用
14KB
212 行
twitter-text 配置
twitter-text 2.0 引入了一种新的配置格式以及用于解释此配置的 API。配置是一个 JSON 字符串(或文件),解析 API 已在每个 twitter-text 的四个参考语言中提供。
格式
配置格式是一个 JSON 字符串。JSON 可以有以下属性
version
(必需,整数,最小值 0)maxWeightedTweetLength
(必需,整数,最小值 0)scale
(必需,整数,最小值 1)defaultWeight
(必需,整数,最小值 0)emojiParsingEnabled
(可选,布尔值)transformedURLLength
(整数,最小值 0)ranges
(范围项数组)
一个 范围项
具有以下属性
start
(必需,整数,最小值 0)end
(必需,整数,最小值 0)weight
(必需,整数,最小值 0)
参数
version
配置字符串的版本。这是一个整数,将随着未来版本的发布单调增加。字符串的旧版本是版本 1;版本 2 支持加权代码点范围和 280 个字符的“长”推文。
maxWeightedTweetLength
推文的最大长度,加权。旧版 v1 推文的加权最大长度为 140,所有字符都具有相同的权重。在新配置格式中,这表示为 maxWeightedTweetLength 为 140 和默认权重为 1 的所有代码点。
scale
推文长度是(加权长度
/ scale
)。
defaultWeight
应用于所有代码点的默认权重。这将被一个或多个范围项覆盖。
emojiParsingEnabled
当设置为 true 时,加权推文长度将所有表情符号视为单个代码点(默认权重为 200),包括由零宽度连接符组合的更长的图形簇。当设置为 false 时,推文长度通过权衡单个 Unicode 代码点来计算。
transformedURLLength
计算URL长度与推文总权重之比。在之前的twitter-text版本中,这是“缩短的URL长度”。区分http和https缩短的URL长度已被弃用(所有t.co URL均使用https)。默认值为23。
范围
一个范围项数组,描述Unicode代码点范围以及每个代码点应用的权重。每个范围由其起始点、结束点和权重定义。代理对具有与代理对中第一个代码单位长度等效的长度。请注意,某些图形字符是通过对代码点进行连接而产生的,例如使用零宽度连接符;与代理对不同,此类图形字符的长度将是所有包含代码点的加权长度的总和。
API
每个四个参考语言实现都提供了一种读取JSON配置的方法。
Java
public static TwitterTextConfiguration configurationFromJson(@Nonnull String json, boolean isResource)
json
:配置目录中的配置字符串或文件名(见isResource
)isResource
:如果为true,json引用配置的文件名。
JavaScript
配置通过twttr.text.configs
(示例:twttr.text.configs.version2
)访问。此配置作为parseTweet:
的参数传递。
twttr.txt.parseTweet(inputText, configVersion2)
Objective-C
Objective-C实现提供了两种读取输入的方法,要么是从字符串读取,要么是从文件资源读取。
+ (instancetype)configurationFromJSONResource:(NSString *)jsonResource;
+ (instancetype)configurationFromJSONString:(NSString *)jsonString;
也可以设置默认配置
+ (void)setDefaultParserConfiguration:(TwitterTextConfiguration *)configuration
资源字符串指的是包含的两个配置文件(在Xcode项目中引用)。
Ruby
Ruby提供了Twitter::Configuration
类和从文件或字符串读取的方法。
def self.parse_string(string, options = {})
def self.parse_file(filename)
您可以使用configuration_from_file()
或使用以下方法初始化配置:Twitter::Configuration.new(config)
,其中config
是上述两种方法之一的结果。
依赖关系
~0.6–1.4MB
~32K SLoC