パッケージ、リポジトリ、アプリカテゴリを検索

パッケージ詳細v2.0.0

reading_time

Medium が行うように、読書時間を予測/計算する小さなDartライブラリです。

AndroidiOSWebmacOSWindowsLinux
30日間ダウンロード
244
いいね数
27
Pub ポイント
130

パッケージをインストール

flutter pub add reading_time

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

テキストコンテンツの読書時間を推定する軽量なDartライブラリで、Mediumのアプローチに似ています。単語数を分析し、設定可能な平均読み取り速度を適用して正確な時間推定を提供します。シンプルさとパフォーマンスを重視して設計されており、ブログや記事、またはユーザーがテキストの読書時間について知ることで利点を得られるアプリケーションに最適です。Android、iOS、Web、macOS、Windows、Linuxなど、すべての主要プラットフォームをサポートしています。

用途

  • 記事の読了時間を推定する
  • ブログで読書時間を表示する
  • コンテンツアプリにおけるユーザー体験の向上
  • Markdown やリッチテキストエディタとの統合
  • 時間ベースのコンテンツ推薦を提供する

主な機能

  • 単語ベースの読了時間計算
  • 読み取り速度のカスタマイズ
  • 軽量で高速
  • クロスプラットフォーム対応
  • シンプルな API インテグレーション
  • プレーンテキストとHTMLの両方をサポートしています

適している対象

  • コンテンツ重視のアプリケーション
  • ブログプラットフォーム
  • ニュースアプリ
  • 教育ツール
  • 長文テキストを含むアプリ

注意事項

  • 正確性は平均読み取り速度の設定に依存します
  • 複雑なテキストレイアウトを考慮していない
  • 標準的な英語テキストに最適
  • 英語以外のコンテンツには調整が必要な場合があります
  • 単語数の分析に限定され、理解時間ではない

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

Reaqding time

Build Status

A small dart library that predicts ( more like calculates ) reading time like medium does . reading_time helps you calculate / estimate reading time for any text . It is very useful if you are building an article listing , news or blog like app or website with dart . It is the dart port of the original reading-time module ( FOR JS ) by Nicolas.

There are virtually no locale limit . It is using 200 (wpm) because an average reader can read 200 words per minute .

Example

import 'package:reading_time/reading_time.dart';

// from https://www.lipsum.com/feed/html
const EXAMPLE_TEXT = """
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut tempus tempor lacus id commodo. Nullam fermentum vitae nisi eget scelerisque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Suspendisse elementum at sapien vitae rutrum. Vestibulum id ex et sem vehicula fermentum sed non tortor. Integer iaculis, justo et blandit sagittis, odio ligula molestie sem, eu lobortis metus nibh quis nibh. Fusce ornare varius tellus, ac porta est. In eleifend iaculis erat vel iaculis. Maecenas sit amet aliquet diam. Proin eu semper tortor. Maecenas accumsan rutrum erat, ornare ullamcorper ipsum hendrerit quis. Sed at pulvinar erat.

In et cursus dui. In viverra tincidunt maximus. Etiam sit amet lobortis mauris, eget sollicitudin augue. Mauris finibus felis nisl. Mauris id lorem blandit ligula faucibus rhoncus. Sed molestie ipsum id nisl vestibulum vehicula. Proin dictum mi iaculis velit aliquet rhoncus. Suspendisse elementum maximus velit, ut elementum sem cursus ac. Phasellus efficitur congue odio, sit amet suscipit lacus convallis pulvinar. Etiam posuere dolor at nunc bibendum venenatis. Nam ac justo risus. Etiam ac metus sit amet diam malesuada maximus. Quisque odio arcu, cursus eget suscipit id, hendrerit non nisl. Fusce lacinia eu ipsum non mattis.

Mauris bibendum pellentesque quam. Sed bibendum malesuada orci, vel aliquam sem. Nunc sit amet ante id eros finibus cursus eget pharetra mi. Quisque eleifend accumsan lorem, id interdum felis rhoncus quis. Morbi a auctor risus. Nam placerat, nisl dapibus commodo facilisis, tellus metus semper odio, vel fringilla nisi mi id sapien. Etiam eget turpis sed ante venenatis accumsan ut non velit. Integer ut tellus placerat, tempus erat sit amet, scelerisque turpis. Aliquam velit leo, dictum quis dictum vitae, congue a turpis. Integer gravida risus ante.

Aenean ac nunc lacinia, vehicula purus at, malesuada nulla. Sed fermentum ante eu nisl pulvinar vehicula. Phasellus sem ante, cursus ut nisl sit amet, sagittis mollis magna. Quisque dapibus blandit tincidunt. Donec condimentum leo viverra egestas lobortis. Nulla pharetra ex ex, non laoreet ligula sodales sed. Donec tortor elit, feugiat et nunc et, sagittis eleifend metus. Nullam erat turpis, tincidunt sed quam sit amet, condimentum tincidunt leo. Curabitur imperdiet pharetra libero a cursus. Donec massa nisi, faucibus nec ornare sed, eleifend at dolor. Cras ullamcorper auctor nisl in porta.

Maecenas eleifend lobortis lectus vitae porttitor. Suspendisse at ex nec ante lobortis lacinia. In id diam aliquet nunc rhoncus placerat quis et quam. Nulla ut egestas diam. Quisque varius, nisi eget ullamcorper tincidunt, lacus eros fringilla nunc, vitae faucibus lacus diam at leo. Cras magna enim, interdum eget consectetur non, volutpat sit amet ex. Quisque mollis eget risus ac aliquam. Integer ultricies lorem neque.
""";

main(List<String> args) {
  var reader = readingTime(EXAMPLE_TEXT);
  print(reader.words); // 433
  print(reader.msg); // 2 min read
  print(reader.time); // 129900.0
  print(reader.minutes); // 2.165
}

If the text is too small , the text property will return 'less than a minute'

Options

parameter type required default
text String true
wpm int false 200
suffix String false 'min read'
lessMsg String false 'less than a minute'

カテゴリー

ソースリポジトリ

このパッケージを使用しているプロジェクト

データはまだありません。