Giter VIP home page Giter VIP logo

lexi's Introduction

Use Lexi to reduce the complexity of the language in your documentation, and to quantify and track improvements overtime.

Lexi is a GitHub action that reports readability metrics for Markdown files in your pull requests. Use these metrics to help you understand how changes impact the readability of your documentation. Lexi reports an overall readability score that is calculated based on a scaled combination of the following readability metrics:

Reports

Reports describe the overall change to each file in a pull request, and also the impact the edits make to the documentation set as a whole.

  • Overall readability: describes the readability of all the documentation in your repository, along with the scores and degree of change for each file that was edited in the pull request.
  • Detailed metrics: describes all available metrics for each file that was edited in the pull request.
  • Averages: describes the overall readability of all the documentation in your repository for each available metric.
  • Metrics targets: describes the range and ideal score for each readability metric.

Example report

Overall readability score: 20.18 (🟒 +0.97)

File Readability
README.md 22.36 (🟒 +3.86)
View detailed metrics

🟒 - Shows an increase in readability πŸ”΄ - Shows a decrease in readability

File Readability FRE GF ARI CLI DCRS
README.md 22.36 44.11 16.67 28.7 11.85 7.66
Β  🟒 +3.86 🟒 +2.03 🟒 +0.75 🟒 +2.2 πŸ”΄ -0.7 🟒 +0.01

Averages:

Β  Readability FRE GF ARI CLI DCRS
Average 20.18 14 16.94 19.17 15.11 9.52
Β  🟒 +0.97 🟒 +0.51 🟒 +0.19 🟒 +0.55 πŸ”΄ -0.17 🟒 +0
View metric targets
Metric Range Ideal score
Flesch Reading Ease 100 (very easy read) to 0 (extremely difficult read) 60
Gunning Fog 6 (very easy read) to 17 (extremely difficult read) 8 or less
Auto. Read. Index 6 (very easy read) to 14 (extremely difficult read) 8 or less
Coleman Liau Index 6 (very easy read) to 17 (extremely difficult read) 8 or less
Dale-Chall Readability 4.9 (very easy read) to 9.9 (extremely difficult read) 6.9 or less

Usage

Inputs

Name Necessity Description
github-token Required Use this token to post the report comment to pull requests. The GitHub Actions token can be used with ${{ secrets.GITHUB_TOKEN }}.
glob Required Use this pattern to match Markdown files you want to analyse.

Example workflow

name: Report readability

# This action only works on pull request events
on: pull_request

jobs:
    report-readability:
        name: Report readability
        runs-on: ubuntu-latest
        steps:
            - name: Checkout repo
              uses: actions/checkout@v2
            - uses: Rebilly/lexi@v1
              with:
                  github-token: ${{ secrets.GITHUB_TOKEN }}
                  glob: '**/*.md'

Development

Commands

command description
test Run the unit tests.
lint Run eslint on all files.
format Run prettier on all files.
build Build the dist file. You are required to run this locally in order to build the dist before opening a PR.
run:local:report Run the action on two local folders, for testing and development. The first argument is the old ("base branch") folder and the sedcond argument is the new ("head branch") folder. For example yarn run:local:report ./test-data/old ./test-data/new.
run:local:debugfile Display what the program parses from a single file, after stripping all non-wanted items from the file, and before rating the readability. For example yarn run:local:debugfile ./test-data/new/test-document.md.
playground:dev Open the playground in local development mode for testing readability scores.

Testing

When developing the action, it may be useful to run the action locally rather than pushing a branch and running your development version on GitHub.

To test the action locally, execute the run:local:report command. This reports readability on two different directories, as though they are in one pull request.

For example: yarn run:local:report ./test-data/old ./test-data/new

Playground

To experiment with this tool in your web browser, and get real-time readability metric data as you edit a Markdown file, try out the playground.

lexi's People

Contributors

weetbix avatar noon-dawg avatar ashkarpetin avatar adamaltman avatar justnero avatar jvc9109 avatar npentrel avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.