Coder Social home page Coder Social logo

awesome-lint's Introduction


awesome-lint


Linter for Awesome lists

Intended to make it easier to create and maintain Awesome lists.

Includes a bunch of general Markdown rules and some Awesome specific rules.

CLI

Usage

The CLI requires Node.js and Git.

Type the command npx awesome-lint followed by the URL of the repo you want to check:

❯ npx awesome-lint https://github.com/sindresorhus/awesome-something

  readme.md:1:1
  ✖    1:1  Missing Awesome badge after the main heading      awesome-badge
  ✖   12:1  Marker style should be -                          unordered-list-marker-style
  ✖  199:3  Remove trailing slash (https://sindresorhus.com)  trailing-slash

  3 errors

Special comments

You can enable, disable, and ignore rules using special comments. This is based on remark-message-control.

By default, all rules are turned on. For example, 4 errors (2 of no-dead-urls and 2 of awesome-list-item) will be generated for following code snippets.

- [foo](https://foo.com) - an invalid description.
- [foo](https://foo.com) - invalid description.
disable

The disable keyword turns off all messages of the given rule identifiers. If no identifiers are specified, all messages are turned off.

Don't leave spaces after the last rule identifier.

For example, only the 2 no-dead-urls errors are left:

<!--lint disable awesome-list-item-->
- [foo](https://foo.com) - an invalid description.
- [foo](https://foo.com) - invalid description.
enable

The enable keyword turns on all messages of the given rule identifiers. If no identifiers are specified, all messages are turned on.

For example, only the second line reports a awesome-list-item rule violation:

<!--lint disable awesome-list-item-->
- [foo](https://foo.com) - an invalid description.
<!--lint enable awesome-list-item-->
- [foo](https://foo.com) - invalid description.
ignore

The ignore keyword turns off all messages of the given rule identifiers occurring in the following node. If no identifiers are specified, all messages are turned ignored. After the end of the following node, messages are turned on again. This is the main difference with disable.

For example, to turn off certain messages for the next node:

<!--lint ignore awesome-list-item-->
- [foo](https://foo.com) - an invalid description.

List items share the same parent node. So let's create a new list.

- [foo](https://foo.com) - invalid description.

Continuous Integration

GitHub Actions

You can use GitHub Actions for free to automatically run awesome-lint against all pull requests.

Create /.github/workflows/main.yml with the following contents:

name: CI
on:
  pull_request:
    branches: [main]
jobs:
  Awesome_Lint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        with:
          fetch-depth: 0
      - run: npx awesome-lint

fetch-depth: 0 is needed so that we can check the repo age.

You may add branch protection rules to prevent merging branches not passing awesome-lint.

Travis

Add it as a test script in package.json and activate Travis CI to lint on new commits and pull requests.

Note: Travis CI only clones repositories to a maximum of 50 commits by default, which may result in a false positive of awesome/git-repo-age, and so you should set depth to false in .travis.yml if needed.

Note: Avoid rate limit problems on Travis CI by defining a GitHub personal access token in an environment variable named github_token. See defining variables in repository settings.

package.json
{
	"scripts": {
		"test": "awesome-lint"
	},
	"devDependencies": {
		"awesome-lint": "*"
	}
}
.travis.yml
language: node_js
node_js:
  - 'node'
# git:
#   depth: false

API

Install

npm install awesome-lint

Usage

import awesomeLint from 'awesome-lint';

awesomeLint.report();

Docs

awesomeLint()

Returns a Promise for a list of VFile objects.

awesomeLint.report()

Show the lint output. This can be custom reported by setting options.reporter=<function> and passing in options as a parameter.

awesome-lint's People

Contributors

arthurlutz avatar brandon93s avatar chinesedfan avatar cvan avatar dspinellis avatar hyperupcall avatar itaisteinherz avatar janpeuker avatar kdeldycke avatar lucamartino97 avatar matheuss avatar morinted avatar notwoods avatar radvalentin avatar raybb avatar scrum avatar sindresorhus avatar steven2358 avatar thammarith avatar tiagodanin avatar transitive-bullshit avatar vkarampinis avatar willforan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

awesome-lint's Issues

Meta

This issue is meant for general feedback and brainstorming. Continuation of sindresorhus/awesome#569.

The intention of this linter is to make it easier to create and maintain an Awesome list.

I've opened individual issues for some rules I'd like to see. Help wanted implementing them.

There's currently only one Awesome specific rule, but I've enabled many built-in remark-lint rules.

"Missing Awesome badge": False positive?

awesome-lint reports

✖  1:1  Missing Awesome badge after the main heading  awesome/badge

for my list which starts off with

# Awesome Numerical Software [![Awesome](https://awesome.re/badge-flat.svg)](https://github.com/sindresorhus/awesome)

not sure what's wrong here.

Severities

I intended vfile#fail only for fatal exceptions, which make a file no longer processable. Warnings, like those in badge.js#L23, and badge.js#L34, should use vfile#warn.

If you use warn instead of fail, it also means there’s no longer a reason to use file.quiet = true.

A slightly separate, but also quite related problem, is the error / warn / message labels in the reporters, which you’re currently handling in index.js#L35. That’s something which I definitely want to include, but it’ll take some time, and I’m not sure where yet.

However, for now I suggest adding a new file, severity.js or something, which looks like config.js

// ...
    'heading-style': true,
    'link-title-style': null,
    'list-item-bullet-indent': false,
    'list-item-content-indent': true
// ...

(each rule-id refers to the state its message’s fatal properties should have, true for error, false for warning, and null for message).

Then, in index.js#L35, do something like:

var severity = require('./severity');
var own = {}.hasOwnProperty;

// ...

messages.forEach(x => {
  x.fatal = own.call(severity, x.ruleId) ? severity[x.ruleId] : x.fatal;
});

Pass a `vfile` in directly

In index.js#L23, instead of doing this:

return pify(run)(fs.readFileSync(readmeFile, 'utf8'));

You can do:

var vfile = require('to-vfile');

// ....

var file = vfile.readSync(readmeFile);
file.quiet = true;
return pify(run)(file);

...that will set the proper file-path info (and prevent fatal errors from throwing).

List item style rule

The style is:

- [Name](Link) - Description.

The rule should:

  • Ensure the link and description are delimited with -.
  • Ensure the description starts with an uppercase.
  • Ensure the description ends in a dot ..

Output and check errors lines

Some test cases generate multiple error messages of the same rule. If we can output and check lines, that will be better.

--- a/test/_lint.js
+++ b/test/_lint.js
@@ -3,6 +3,7 @@ import lint from '..';
 export default async options => {
        const result = await lint(options);
        return result.messages.map(error => ({
+              line: error.line,
                ruleId: error.ruleId,
                message: error.message
        }));

Ensure the maintainer has added their own email to the Code of Conduct

Issuehunt badges

Not like https://github.com/secretGeek/AwesomeCSV/blob/af54de5e9874ab1b04d7e6f325a70871287881c4/code-of-conduct.md where it still has [INSERT EMAIL ADDRESS]. I've also experienced many lists just copy-pasting from my lists, which means my email remained there. So that should be caught too.


IssueHunt Summary

chinesedfan chinesedfan has been rewarded.

Backers (Total: $40.00)

Submitted pull Requests


Tips


IssueHunt has been backed by the following sponsors. Become a sponsor

Detect 404s and 301s

Can this actually poll the links? I'm not sure how it would work on PRs (since problems can appear on existing content) but it can be a great way to keep lists up to date.

Tests fail locally on Mac

According to the Travis CI build history, the builds are passing fine on Travis CI. Locally, I'm getting these errors when running the tests:

% npm test                                           /opt/awesome-lint (master)

[email protected] test /opt/awesome-lint
xo && ava

rules/badge.js:19:7
⚠ 19:7 Blocks are nested too deeply (5). max-depth

index.js:10:11
⚠ 35:19 Unexpected todo comment. no-warning-comments
✖ 10:11 Unexpected chained assignment. no-multi-assign

config.js:4:1
⚠ 21:2 Unexpected todo comment. no-warning-comments
⚠ 29:2 Unexpected todo comment. no-warning-comments
⚠ 34:2 Unexpected todo comment. no-warning-comments
⚠ 47:2 Unexpected todo comment. no-warning-comments
✖ 4:1 Comments should not begin with a lowercase character capitalized-comments
✖ 7:2 Unnecessarily quoted property reset found. quote-props
✖ 63:2 Comments should not begin with a lowercase character capitalized-comments
✖ 64:2 Unnecessarily quoted property external found. quote-props

6 warnings
5 errors
npm ERR! Test failed. See above for more details.


screen shot 2017-04-05 at 9 14 07 pm


Operating system
Mac OS X El Capitan, Version 10.11.2 (15C50)
`node` version
v7.0.0
`npm` version
3.10.8

Add rule for verifying GitHub-related requirements

Issuehunt badges

Based on the Awesome list requirements.

  • Verify the upstream branch (or the origin branch if the upstream is not set) is a valid GitHub repo, which you can successfully fetch.
  • Verify that the project has awesome-list and awesome as GitHub topics.

Any thoughts @sindresorhus @transitive-bullshit?

tiagodanin earned $60.00 by resolving this issue!

Wrong "List item description must start with valid casing awesome/list-item" error

Issuehunt badges

Data

cat README.md
- [iqvoc](https://github.com/innoq/iqvoc) - SKOS(-XL) Vocabulary Management System for the Semantic Web.

Reproduction

wget https://gist.githubusercontent.com/maximveksler/e04db4c4e50b5756f8865a836028bacf/raw/6fdc20ef697e2e2445e1c52a14012c1f32797344/README.md
Maxims-MBP:lint-bug maximveksler$ awesome-lint
✖ Linting

  README.md:1:1
  ✖  1:1   Missing or invalid Table of Contents                awesome/toc
  ✖  1:1   Missing License section                             awesome/license
  ✖  1:1   Awesome list must reside in a valid git repository  awesome/git-repo-age
  ✖  1:1   Missing file contributing.md                        awesome/contributing
  ✖  1:1   Missing newline character at end of file            final-newline
  ✖  1:42  List item description must start with valid casing  awesome/list-item

  6 errors

Live at https://github.com/semantalytics/awesome-semantic-web

Please note that no error is reported for the following example:

Maxims-MBP:lint-bug maximveksler$ cat README.md
- [iqvoc](https://github.com/innoq/iqvoc) - SKOS Vocabulary Management System for the Semantic Web.

chinesedfan earned $40.00 by resolving this issue!

Fix support for tabbed sub-lists

Issuehunt badges

This will be a larger issue once awesome-lint starts getting more usage in the wild.

For context, see remarkjs/remark#198 and my stalled attempt at a fix remarkjs/remark#347.


IssueHunt Summary

scinos scinos has been rewarded.

Backers (Total: $80.00)

Submitted pull Requests


Tips

How to lint non-readme issues?

Currently, awesome-lint only lints an awesome list's readme itself, but there are several very reasonable guidelines in place that extend beyond the scope of linting just the readme.

I propose that we also lint the following:

  • Has been around for at least 30 days.
    • This should be pretty easy assuming we require the usage of git.
  • The repo should have awesome-list & awesome as GitHub topics.
    • This should also be relatively easy if we require the usage of git.
  • Not a duplicate.
    • This should probably be just a warning.
  • Has contribution guidelines. contributing.md

My question is whether or not it makes sense to add this functionality to awesome-lint or possibly in a hypothetical parent project like awesome-repo-lint? Either way, I'm not sure exactly how some of these would fit into the current vfile output formatter scheme.

Thoughts?

Table of Contents rule

Would be useful to have a rule that ensures a correct Contents (TOC):

  • Ensure the first section is named Contents.
  • Ensure all the links point to existing sections with the same name.
  • Ensure all sections are included except for the License section.
  • Ensure the Contents list is maximum 2 levels. (People have a tendency of creating too big TOCs)

Lint some canonical lists in awesome-lint CI

Issuehunt badges

It's hard to understand how some PRs will affect the output for awesome-lint on general awesome lists or to know if they'll introduce additional false errors.

It would help my confidence a lot while reviewing PRs if the CI for awesome-lint included some tests that ran awesome-lint on a variety of well-written, canonical awesome lists like awesome-nodejs.

This can be viewed as adding integration tests for awesome-lint.


IssueHunt Summary

notwoods notwoods has been rewarded.

Backers (Total: $40.00)

Submitted pull Requests


Tips

Discussion: how to integrate with awesome-lists

I'd like to start a discussion around the status of awesome-lint and how it should relate to the awesome-list project going forwards.

A few questions we should aim to gather consensus around:

  1. What should the expected acceptance criteria be for awesome-lint in order to consider enforcing linting as a necessary constraint for future awesome-list PRs?
  2. Would it make sense to gradually lint existing lists in order to maintain a high quality? One thing I've thought about is that we could automate reaching out to existing list maintainers with the request that any lists that fail linting would be removed in 60 days unless they're updated accordingly.

newline after dash okay?

With awesome-lint from master, I'm getting

✖   21:39  List item link and description separated by invalid whitespace  awesome/list-item

with entries like

- [BLAS](https://www.netlib.org/blas/) -
  Standard building blocks for performing basic vector and matrix operations.
  (Fortran, public domain)

Apparently one needs a whitespace after the dash -, not a newline. Too strict?

(Also, it appears that the two files in ./lib will need to included in the installation as well.)

no-emphasis-as-heading causing problems

The no-emphasis-as-heading rule doesn't like this:

Awesome npm scripts Awesome

Travis branch

Everything awesome related to npm scripts and using npm as a build tool.

You might also like awesome-npm.

Notice: I'm currently too busy to actively expand this list; therefore, I've decided to make this an OPEN Open Source Project. Individuals making significant and valuable contributions are given commit-access to the project to contribute as they see fit.

Contents

...

https://github.com/RyanZim/awesome-npm-scripts

I understand this rule makes sense in most cases, but this case isn't one of them. The emphasis has nothing to do with the heading; it's just a bold notice that happens to come right before the top heading.

Would like thoughts/suggestions/discussion on this.

Infer local readme file when invoked with no args

Currently getting this error with [email protected] and node v10.8.0, when the README.md is definitely there:

$ awesome-lint
Error: Couldn't find the file readme.md
    at lint (/home/travis/.nvm/versions/node/v10.8.0/lib/node_modules/awesome-lint/index.js:20:25)
    at Function.lint.report (/home/travis/.nvm/versions/node/v10.8.0/lib/node_modules/awesome-lint/index.js:30:21)
    at main (/home/travis/.nvm/versions/node/v10.8.0/lib/node_modules/awesome-lint/cli.js:42:20)
    at Object.<anonymous> (/home/travis/.nvm/versions/node/v10.8.0/lib/node_modules/awesome-lint/cli.js:49:1)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)

Travis file: https://github.com/carlosperate/awesome-microbit/blob/fccbad1b4b2bf503f2284e097eedb092be8c0751/.travis.yml
Travis output: https://travis-ci.org/carlosperate/awesome-microbit/builds/414668054
Readme: https://github.com/carlosperate/awesome-microbit/blob/master/README.md
Repo: https://github.com/carlosperate/awesome-microbit

Log error when trying to lint non-existent file

When trying to run awesome-lint on a file that doesn't exist (e.g. awesome-lint unicorn.md), no error is being reported. Instead, the command runs indefinitely until you Control+C it and see the file path was invalid in the first place.

Edge case scenarios

I've started running the up-to-date version of awesome-lint from #29 on various well-known awesome lists and want to clarify some common edge cases.

Should the following scenarios be considered valid?

Awesome Rules

awesome/toc

The "Related Lists" section isn't in the table of contents. Should I add this to the blacklist of section names such as "License" and "Contributing"?

awesome/list-item

These all error because they don't end with proper punctuation. One option would be to relax this rule to only end with proper punctuation if the last character is in a certain ascii whitelist set.

awesome-nodejs uses sub-lists in some parts, whereas other lists use sub-headers (### Promises) to separate related content. Should we allow these types of sub-lists?

  • Promises
    • Bluebird - Promise library with focus on innovative features and performance.
    • pify - Promisify a callback-style function.
  • Observables

Third-Party Rules

no-literal-urls

(Edit Aug 10 2018: removed multiple edge cases that we already support)

git-repo-age rule fails on Travis

Issuehunt badges

Can be seen here: https://travis-ci.org/carlosperate/awesome-microbit/builds/427309076

A repository hosted on GitHub (https://github.com/carlosperate/awesome-microbit/) and the travis script doesn't have anything complex going on:
https://github.com/carlosperate/awesome-microbit/blob/f2d3fae2faf85f4e4022ffa8057870a7c48912f9/.travis.yml

language: node_js
node_js:
  - 'node'

before_install:
  - rvm install 2.2.2

install:
  - npm install --global awesome-lint
  - gem install awesome_bot

script:
  - awesome-lint README.md
  - awesome_bot README.md --allow-redirect --allow-dupe

Travis log outputs:

$ awesome-lint README.md
- Linting
✖ Linting
README.md:333:3
✖1:1  Awesome list must reside in a valid git repositoryawesome/git-repo-age

chinesedfan earned $20.00 by resolving this issue!

Dockerfile?

I don't know if this can be useful to someone else, but I've used the following Dockerfile to run the linter in its own enclosed container (I don't really used nodejs and don't need all the npm packages required permanently installed on my system):

FROM node:latest
ARG USER
ARG REPO

RUN npm install --global awesome-lint

RUN git clone https://github.com/${USER}/${REPO}.git

RUN cd ${REPO};awesome-lint

To launch it:

docker build -t awesome --build-arg USER=<gitusername> --build-arg REPO=<gitreponame> .

Allow github star badges

I consider GitHub star badges for resources listed like this one

- [rmw](https://github.com/ros2/rmw/tree/master/rmw) - Contains the ROS middleware API ![rmw](https://img.shields.io/github/stars/ros2/rmw.svg).

very helpful.

Right now awesome-lint raises an error List item description contains invalid markdown awesome/list-item...

False negatives for Twitter links

The linter always returns false negatives for any Twitter URL. Any repo it's the same thing. At first I thought it could be my network or something but then there's another report from other dev. and also I tested with another connection and config too. Same case regardless.

Here's another report: sindresorhus/awesome#1590 (comment)

And here's the lint report for one of the open PRs:

awesome-lint https://github.com/ember-community-russia/awesome-ember
✖ Linting

  README.md:630:3
  ✖   630:3  Link to https://github.com/twokul/ember-cli-pact is dead  remark-lint:no-dead-urls
  ✖  1203:3  Link to https://twitter.com/emberjs is dead               remark-lint:no-dead-urls
  ✖  1204:3  Link to https://twitter.com/embertimes is dead            remark-lint:no-dead-urls
  ✖  1205:3  Link to https://twitter.com/EmberWatch is dead            remark-lint:no-dead-urls
  ✖  1206:3  Link to https://twitter.com/EmberWeekly is dead           remark-lint:no-dead-urls
  ✖  1208:3  Link to https://twitter.com/tomdale is dead               remark-lint:no-dead-urls
  ✖  1209:3  Link to https://twitter.com/wycats is dead                remark-lint:no-dead-urls
  ✖  1210:3  Link to https://twitter.com/melaniersumner is dead        remark-lint:no-dead-urls
  ✖  1211:3  Link to https://twitter.com/jwwweber is dead              remark-lint:no-dead-urls
  ✖  1212:3  Link to https://twitter.com/rwjblue is dead               remark-lint:no-dead-urls
  ✖  1213:3  Link to https://twitter.com/stefanpenner is dead          remark-lint:no-dead-urls
  ✖  1214:3  Link to https://twitter.com/mixonic is dead               remark-lint:no-dead-urls
  ✖  1215:3  Link to https://twitter.com/Runspired is dead             remark-lint:no-dead-urls
  ✖  1216:3  Link to https://twitter.com/pzuraq is dead                remark-lint:no-dead-urls
  ✖  1217:3  Link to https://twitter.com/twokul is dead                remark-lint:no-dead-urls
  ✖  1218:3  Link to https://twitter.com/terzicigor is dead            remark-lint:no-dead-urls
  ✖  1219:3  Link to https://twitter.com/dgeb is dead                  remark-lint:no-dead-urls
  ✖  1221:3  Link to https://twitter.com/alexspeller is dead           remark-lint:no-dead-urls
  ✖  1222:3  Link to https://twitter.com/samselikoff is dead           remark-lint:no-dead-urls
  ✖  1223:3  Link to https://twitter.com/ebryn is dead                 remark-lint:no-dead-urls
  ✖  1224:3  Link to https://twitter.com/gavinjoyce is dead            remark-lint:no-dead-urls
  ✖  1225:3  Link to https://twitter.com/ryantotweets is dead          remark-lint:no-dead-urls
  ✖  1226:3  Link to https://twitter.com/baaz is dead                  remark-lint:no-dead-urls
  ✖  1227:3  Link to https://twitter.com/lukemelia is dead             remark-lint:no-dead-urls

  24 errors

All the Twitter URLs are active and valid yet it fails.

Sub-lists are not checked for the `list-item` rule

Issuehunt badges

This readme passes awesome-lint: https://github.com/juliandavidmr/awesome-nestjs/blob/a0c49d8dc6afa67a0c64f332fd59daccfe5b208f/README.md#resources But a lot of the descriptions are missing a . at the end.

We should ensure the other custom rules work with nested list items too.

// @transitive-bullshit

itaisteinherz earned $40.00 by resolving this issue!

Rule name convention

Proposal: the rules should be renamed from awesome-rule-name to awesome/rule-name.

With this we will follow what is done on ESlint ☺️

`awesome/github` reports incorrectly for URL shorthands

Hello fine folks! 👋

Problem

I get a message saying Repository should be on GitHub (from here) because awesome-lint incorrectly reports my remote URL as not being on GitHub.

The reason for that is that git config --get remote.origin.url yields gh:remarkjs/awesome-remark.

This is indeed not a valid GitHub URL, but Git supports URL shorthands. I have the following in my Git config (~/.gitconfig):

[url "[email protected]:"]

	insteadOf = "gh:"
	pushInsteadOf = "github:"
	pushInsteadOf = "git://github.com/"

The reason I do this is that it makes it easy to clone from GH: git clone gh:remarkjs/awesome-remark.
I don’t know how many people use Git URL shorthands. But this pattern is from mathiasbynens/dotfiles so I’m guessing it’s pretty common.

Solution

git remote -v does resolve URLs, as it gives:

origin	[email protected]:remarkjs/awesome-remark (fetch)
origin	[email protected]:remarkjs/awesome-remark (push)

Here’s an example of a remark plugin that parses that result to get a URL.

Use of const in strict mode

hi i got an error when running this on my travis

https://travis-ci.org/rachmadaniHaryono/awesome-django/builds/229557630

const meow = require('meow');
^^^^^
SyntaxError: Use of const in strict mode.
    at Module._compile (module.js:439:25)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:929:3
The command "awesome-lint" exited with 8.

repo: https://github.com/rachmadaniHaryono/awesome-django

is there anything else i should include here?

Exclude names when they are inline as a domain name

I've been linting and updating some awesome-list PRs, and I've found that there are a number that are failing because github.com, youtube.com, etc do not lint correctly. It makes total sense that stand-alone (noun-like) usages of these names/brands should format in a way that looks well. Domain names, though, are case agnostic by standard, and at very least should not raise linting errors.

also https://GitHub.com/newalexandria/dotfiles/ just looks less attractive than https://github.com.

I'd like to open a PR that fixes this, with tests.

I'll probably aim to do that in the next couple days, unless @sindresorhus or someone here flags that as undesirable.

Broken Link not actually broken

Lint detects that a link is broken because the site has DDoS protection. Proof attached that the site is not in fact dead
image

Add support for ignoring blocks of the readme

Issuehunt badges

I am using all-contributors-cli which generates the contributors section oy my readme. The generated code throws this error:

Titles should use ' as a quote               link-title-style

I could move the contributors to it's own file, but I would like to keep it front and center in the readme.

If we could get ignores (preferably range ignores) <!-- awesome-lint-ignore-start --> like prettier then I could use awesome-lint alongside all-contributors.


IssueHunt Summary

chinesedfan chinesedfan has been rewarded.

Backers (Total: $40.00)

Submitted pull Requests


Tips


IssueHunt has been backed by the following sponsors. Become a sponsor

Add more words to awesome/spell-check

I'm going to track the master list of words we've officially decided to spell check in this first comment. As we agree on additional words to add to the spell check list, I'll update this list accordingly.

Done:

  • Node.js
  • Stack Overflow
  • JavaScript
  • macOS
  • YouTube
  • GitHub

Todo:

  • FFmpeg
  • Open Source

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.