1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-20 00:21:35 +00:00

textproc/write-good: Add a new port

write-good is a naive linter for English prose. For example,
it is able to check for the following issues in text:

- passive voice
- lexical illusions – cases where a word is repeated
- "so" at the beginning of the sentence
- "there is" or "there are" at the beginning of the sentence
- weasel words
- adverbs that can weaken meaning: really, very, extremely, etc.
- wordy phrases and unnecessary words
- common cliches

WWW: https://github.com/btford/write-good

Requested by:	bcr (via https://wiki.freebsd.org/WantedPorts)
This commit is contained in:
Mateusz Piotrowski 2021-11-26 19:33:58 +01:00
parent 03ae679d95
commit 06b23f86f3
5 changed files with 106 additions and 0 deletions

View File

@ -1952,6 +1952,7 @@
SUBDIR += word2x
SUBDIR += wordnet
SUBDIR += words
SUBDIR += write-good
SUBDIR += wv
SUBDIR += wv2
SUBDIR += xalan-c

View File

@ -0,0 +1,75 @@
PORTNAME= write-good
DISTVERSIONPREFIX= v
DISTVERSION= 1.0.8
CATEGORIES= textproc
MASTER_SITES= LOCAL/0mp/:npm
DISTFILES= ${_NPM_DISTFILES}
MAINTAINER= 0mp@FreeBSD.org
COMMENT= Naive linter for English prose
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= npm:www/npm
USES= nodejs:run
USE_GITHUB= yes
GH_ACCOUNT= btford
NO_ARCH= yes
NO_BUILD= yes
OPTIONS_DEFINE= DOCS
PORTDOCS= README.md
.if !defined(MAINTAINER_MODE)
_NPM_DISTFILES= ${_NPM_DISTFILE_cache}:npm \
${_NPM_DISTFILE_modules}:npm
.endif
_NPM_DISTFILE_cache= ${PORTNAME}-${DISTVERSION}.cache${EXTRACT_SUFX}
_NPM_DISTFILE_modules= ${PORTNAME}-${DISTVERSION}.modules${EXTRACT_SUFX}
_UNNECESSARY_FILES= test .dockerignore \
.eslintrc .gitignore .npmignore .pre-commit-hooks.yaml \
.travis.yml Dockerfile LICENSE README.md
_LIBEXEC_REL= libexec/${PORTNAME}
_LIBEXEC= ${STAGEDIR}${PREFIX}/${_LIBEXEC_REL}
do-install:
@${MKDIR} ${_LIBEXEC}
(cd ${WRKSRC} && ${COPYTREE_SHARE} . ${_LIBEXEC})
${RLN} ${_LIBEXEC}/bin/${PORTNAME}.js ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
${CHMOD} +x ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
${RLN} ${_LIBEXEC}/bin/${PORTNAME}.js ${STAGEDIR}${PREFIX}/bin/writegood
${CHMOD} +x ${STAGEDIR}${PREFIX}/bin/writegood
(cd ${_LIBEXEC} && ${RM} -r ${_UNNECESSARY_FILES})
post-install:
# Build plist automatically to avoid listing all the node_modules files.
(cd ${STAGEDIR}${PREFIX} && \
${FIND} ${_LIBEXEC_REL}/node_modules -not -type d >> ${TMPPLIST})
post-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_MAN} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}
# - Requires npm (e.g., from www/npm).
# - Remember to set MAINTAINER_MODE,
# e.g., "make -DMAINTAINER_MODE _npm-regenerate".
_npm-regenerate:
${MAKE} clean patch
(cd ${WRKSRC} && ${SETENV} ${_NPM_ENV} npm install --ignore-scripts)
${FIND} ${WRKDIR}/.npm ${WRKSRC}/node_modules -exec ${TOUCH} -h -d 1970-01-01T00:00:00Z {} \;
(cd ${WRKDIR} && \
${FIND} .npm/_cacache -print0 | LC_ALL=C ${SORT} -z | \
${TAR} czf ${WRKDIR}/${_NPM_DISTFILE_cache} --format=bsdtar --uid 0 --gid 0 --options gzip:!timestamp --no-recursion --null -T -)
(cd ${WRKDIR} && \
${FIND} ${WRKSRC:T}/node_modules -print0 | LC_ALL=C ${SORT} -z | \
${TAR} czf ${WRKDIR}/${_NPM_DISTFILE_modules} --format=bsdtar --uid 0 --gid 0 --options gzip:!timestamp --no-recursion --null -T -)
scp ${WRKDIR}/${_NPM_DISTFILE_cache} ${WRKDIR}/${_NPM_DISTFILE_modules} 0mp@freefall.freebsd.org:public_distfiles/
cp ${WRKDIR}/${_NPM_DISTFILE_cache} ${WRKDIR}/${_NPM_DISTFILE_modules} ${DISTDIR}/
.include <bsd.port.mk>

View File

@ -0,0 +1,7 @@
TIMESTAMP = 1637945430
SHA256 (write-good-1.0.8.cache.tar.gz) = 925706581f374d4c687d6a0937ef5585a505b97fe54bcf037a5aab42a0dee0b6
SIZE (write-good-1.0.8.cache.tar.gz) = 8879158
SHA256 (write-good-1.0.8.modules.tar.gz) = beab42c24078ed500568d94cc6d8c897f83f428328024f577d5b2c9e6a8af365
SIZE (write-good-1.0.8.modules.tar.gz) = 9226324
SHA256 (btford-write-good-v1.0.8_GH0.tar.gz) = d4706a6c55f5b4a30453d867d0cc924d59be95b4ded16da0f409d9ec1feee08f
SIZE (btford-write-good-v1.0.8_GH0.tar.gz) = 47480

View File

@ -0,0 +1,13 @@
write-good is a naive linter for English prose. For example,
it is able to check for the following issues in text:
- passive voice
- lexical illusions cases where a word is repeated
- "so" at the beginning of the sentence
- "there is" or "there are" at the beginning of the sentence
- weasel words
- adverbs that can weaken meaning: really, very, extremely, etc.
- wordy phrases and unnecessary words
- common cliches
WWW: https://github.com/btford/write-good

View File

@ -0,0 +1,10 @@
bin/write-good
bin/writegood
libexec/write-good/bin/write-good.js
libexec/write-good/lib/annotate.js
libexec/write-good/lib/lexical-illusions.js
libexec/write-good/lib/starts-with-so.js
libexec/write-good/lib/there-is.js
libexec/write-good/package-lock.json
libexec/write-good/package.json
libexec/write-good/write-good.js