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