devth/yetibot

View on GitHub

Showing 40 of 40 total issues

Non-idiomatic code found in (if (coll? alias) nil (str alias))
Open

  (if-let [sanitized-alias (if (coll? alias)
Severity: Minor
Found in src/yetibot/commands/emoji.clj by kibit

Consider using:

(when-not (coll? alias) (str alias))

instead of:

(if (coll? alias) nil (str alias))

Multiple consecutive blank lines
Open


MD012 - Multiple consecutive blank lines

Tags: whitespace, blank_lines

Aliases: no-multiple-blanks

This rule is triggered when there are multiple consecutive blank lines in the document:

Some text here


Some more text here

To fix this, delete the offending lines:

Some text here

Some more text here

Note: this rule will not be triggered if there are multiple consecutive blank lines inside code blocks.

Multiple top level headers in the same document
Open

# Next Steps

MD025 - Multiple top level headers in the same document

Tags: headers

Aliases: single-h1

Parameters: level (number; default 1)

This rule is triggered when a top level header is in use (the first line of the file is a h1 header), and more than one h1 header is in use in the document:

# Top level header

# Another top level header

To fix, structure your document so that there is a single h1 header that is the title for the document, and all later headers are h2 or lower level headers:

# Title

## Header

## Another header

Rationale: A top level header is a h1 on the first line of the file, and serves as the title for the document. If this convention is in use, then there can not be more than one title for the document, and the entire document should be contained within this header.

Note: The level parameter can be used to change the top level (ex: to h2) in cases where an h1 is added externally.

Emphasis used instead of a header
Open

*...or "Choosing A New Weather API"*

MD036 - Emphasis used instead of a header

Tags: headers, emphasis

Parameters: punctuation (string; default ".,;:!?")

Aliases: no-emphasis-as-header

This check looks for instances where emphasized (i.e. bold or italic) text is used to separate sections, where a header should be used instead:

**My document**

Lorem ipsum dolor sit amet...

_Another section_

Consectetur adipiscing elit, sed do eiusmod.

To fix this, use markdown headers instead of emphasized text to denote sections:

# My document

Lorem ipsum dolor sit amet...

## Another section

Consectetur adipiscing elit, sed do eiusmod.

Note: this rule looks for single line paragraphs that consist entirely of emphasized text. It won't fire on emphasis used within regular text, multi-line emphasized paragraphs, and paragraphs ending in punctuation. Similarly to rule MD026, you can configure what characters are recognized as punctuation.

Non-idiomatic code found in (dorun (map evaljs (clojure.core/deref statements)))
Open

                            (dorun (map evaljs @statements))
Severity: Minor
Found in src/yetibot/commands/javascript.clj by kibit

Consider using:

(run! evaljs @statements)

instead of:

(dorun (map evaljs @statements))

Non-idiomatic code found in (apply str (repeat (rand-nth [2 3]) c))
Open

                 (apply str (repeat (rand-nth [2 3]) c)))))
Severity: Minor
Found in src/yetibot/commands/pirate.clj by kibit

Consider using:

(clojure.string/join (repeat (rand-nth [2 3]) c))

instead of:

(apply str (repeat (rand-nth [2 3]) c))

Multiple consecutive blank lines
Open


MD012 - Multiple consecutive blank lines

Tags: whitespace, blank_lines

Aliases: no-multiple-blanks

This rule is triggered when there are multiple consecutive blank lines in the document:

Some text here


Some more text here

To fix this, delete the offending lines:

Some text here

Some more text here

Note: this rule will not be triggered if there are multiple consecutive blank lines inside code blocks.

Multiple consecutive blank lines
Open


MD012 - Multiple consecutive blank lines

Tags: whitespace, blank_lines

Aliases: no-multiple-blanks

This rule is triggered when there are multiple consecutive blank lines in the document:

Some text here


Some more text here

To fix this, delete the offending lines:

Some text here

Some more text here

Note: this rule will not be triggered if there are multiple consecutive blank lines inside code blocks.

Fenced code blocks should be surrounded by blank lines
Open

```

MD031 - Fenced code blocks should be surrounded by blank lines

Tags: code, blank_lines

Aliases: blanks-around-fences

This rule is triggered when fenced code blocks are either not preceded or not followed by a blank line:

Some text
```
Code block
```

```
Another code block
```
Some more text

To fix this, ensure that all fenced code blocks have a blank line both before and after (except where the block is at the beginning or end of the document):

Some text

```
Code block
```

```
Another code block
```

Some more text

Rationale: Aside from aesthetic reasons, some parsers, including kramdown, will not parse fenced code blocks that don't have blank lines before and after them.

Lists should be surrounded by blank lines
Open

- Cities >15,000 population - ~20,000 Cities

MD032 - Lists should be surrounded by blank lines

Tags: bullet, ul, ol, blank_lines

Aliases: blanks-around-lists

This rule is triggered when lists (of any kind) are either not preceded or not followed by a blank line:

Some text
* Some
* List

1. Some
2. List
Some text

To fix this, ensure that all lists have a blank line both before and after (except where the block is at the beginning or end of the document):

Some text

* Some
* List

1. Some
2. List

Some text

Rationale: Aside from aesthetic reasons, some parsers, including kramdown, will not parse lists that don't have blank lines before and after them.

Note: List items without hanging indents are a violation of this rule; list items with hanging indents are okay:

* This is
not okay

* This is
  okay

Fenced code blocks should be surrounded by blank lines
Open

  ```
Severity: Info
Found in doc/CHANGELOG.md by markdownlint

MD031 - Fenced code blocks should be surrounded by blank lines

Tags: code, blank_lines

Aliases: blanks-around-fences

This rule is triggered when fenced code blocks are either not preceded or not followed by a blank line:

Some text
```
Code block
```

```
Another code block
```
Some more text

To fix this, ensure that all fenced code blocks have a blank line both before and after (except where the block is at the beginning or end of the document):

Some text

```
Code block
```

```
Another code block
```

Some more text

Rationale: Aside from aesthetic reasons, some parsers, including kramdown, will not parse fenced code blocks that don't have blank lines before and after them.

Non-idiomatic code found in (-> (f/formatter "yyyy-MM-dd HH:mm:ss") (f/with-zone (time/default-time-zone)))
Open

  (-> (f/formatter "yyyy-MM-dd HH:mm:ss")
Severity: Minor
Found in src/yetibot/commands/time.clj by kibit

Consider using:

(f/with-zone
  (f/formatter "yyyy-MM-dd HH:mm:ss")
  (time/default-time-zone))

instead of:

(-> (f/formatter "yyyy-MM-dd HH:mm:ss")
 (f/with-zone (time/default-time-zone)))

Multiple consecutive blank lines
Open


MD012 - Multiple consecutive blank lines

Tags: whitespace, blank_lines

Aliases: no-multiple-blanks

This rule is triggered when there are multiple consecutive blank lines in the document:

Some text here


Some more text here

To fix this, delete the offending lines:

Some text here

Some more text here

Note: this rule will not be triggered if there are multiple consecutive blank lines inside code blocks.

Fenced code blocks should be surrounded by blank lines
Open

```

MD031 - Fenced code blocks should be surrounded by blank lines

Tags: code, blank_lines

Aliases: blanks-around-fences

This rule is triggered when fenced code blocks are either not preceded or not followed by a blank line:

Some text
```
Code block
```

```
Another code block
```
Some more text

To fix this, ensure that all fenced code blocks have a blank line both before and after (except where the block is at the beginning or end of the document):

Some text

```
Code block
```

```
Another code block
```

Some more text

Rationale: Aside from aesthetic reasons, some parsers, including kramdown, will not parse fenced code blocks that don't have blank lines before and after them.

Non-idiomatic code found in (if (re-find slur-re s) s nil)
Open

  (if (re-find slur-re s) s nil))
Severity: Minor
Found in src/yetibot/commands/pirate.clj by kibit

Consider using:

(when (re-find slur-re s) s)

instead of:

(if (re-find slur-re s) s nil)

Bare URL used
Open

https://www.contributor-covenant.org/faq
Severity: Info
Found in CODE_OF_CONDUCT.md by markdownlint

MD034 - Bare URL used

Tags: links, url

Aliases: no-bare-urls

This rule is triggered whenever a URL is given that isn't surrounded by angle brackets:

For more information, see http://www.example.com/.

To fix this, add angle brackets around the URL:

For more information, see <http:></http:>.

Rationale: Without angle brackets, the URL isn't converted into a link in many markdown parsers.

Note: if you do want a bare URL without it being converted into a link, enclose it in a code block, otherwise in some markdown parsers it will be converted:

`http://www.example.com`

Multiple consecutive blank lines
Open


MD012 - Multiple consecutive blank lines

Tags: whitespace, blank_lines

Aliases: no-multiple-blanks

This rule is triggered when there are multiple consecutive blank lines in the document:

Some text here


Some more text here

To fix this, delete the offending lines:

Some text here

Some more text here

Note: this rule will not be triggered if there are multiple consecutive blank lines inside code blocks.

Non-idiomatic code found in (filter (fn* [p1__4230875#] (not (nil? p1__4230875#))) [a b c d])
Open

  (->> (filter #(not (nil? %)) [a b c d])
Severity: Minor
Found in src/yetibot/models/postal_code.clj by kibit

Consider using:

(remove nil? [a b c d])

instead of:

(filter #(not (nil? %)) [a b c d])

Fenced code blocks should be surrounded by blank lines
Open

```

MD031 - Fenced code blocks should be surrounded by blank lines

Tags: code, blank_lines

Aliases: blanks-around-fences

This rule is triggered when fenced code blocks are either not preceded or not followed by a blank line:

Some text
```
Code block
```

```
Another code block
```
Some more text

To fix this, ensure that all fenced code blocks have a blank line both before and after (except where the block is at the beginning or end of the document):

Some text

```
Code block
```

```
Another code block
```

Some more text

Rationale: Aside from aesthetic reasons, some parsers, including kramdown, will not parse fenced code blocks that don't have blank lines before and after them.

Non-idiomatic code found in (-> (reduce (fn [return-set emoji] (let [tag-vector (:tags emoji) tag-hash-set (set tag-vector)] (clojure.set/union return-set tag-hash-set))) #{} emojis) sort)
Open

  (-> (reduce (fn [return-set emoji]
Severity: Minor
Found in src/yetibot/commands/emoji.clj by kibit

Consider using:

(sort
  (reduce
    (fn [return-set emoji]
      (let [tag-vector (:tags emoji) tag-hash-set (set tag-vector)]
        (clojure.set/union return-set tag-hash-set)))
    #{}
    emojis))

instead of:

(-> (reduce
      (fn [return-set emoji]
        (let [tag-vector (:tags emoji) tag-hash-set (set tag-vector)]
          (clojure.set/union return-set tag-hash-set)))
      #{}
      emojis)
 sort)
Severity
Category
Status
Source
Language