2 个不稳定版本

0.2.0 2020年5月19日
0.1.0 2019年3月11日

解析器实现 中排名 #2558

Download history 212/week @ 2024-03-24 171/week @ 2024-03-31 112/week @ 2024-04-07 211/week @ 2024-04-14 107/week @ 2024-04-21 61/week @ 2024-04-28 80/week @ 2024-05-05 81/week @ 2024-05-12 54/week @ 2024-05-19 103/week @ 2024-05-26 32/week @ 2024-06-02 45/week @ 2024-06-09 92/week @ 2024-06-16 53/week @ 2024-06-23 35/week @ 2024-06-30 76/week @ 2024-07-07

每月下载 258
4 个(3 个直接)crates 中使用

Apache-2.0 许可

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:配置目录中的配置字符串或文件名(见isResourceisResource:如果为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