diff --git a/gulpfile.js b/gulpfile.js index 5b4b395ce9..5ba7a70006 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -174,7 +174,7 @@ gulp.task('dev-server', syncDepenedents, function() { open: false, middleware: [ webpackDevMiddleware(bundler, { - publicPath: webpackConfig.output.publicPath, + publicPath: '/js', stats: 'errors-only' }), webpackHotMiddleware(bundler) diff --git a/news/components/ArticleMeta.js b/news/components/ArticleMeta.js index aedb01fe85..06472409a0 100644 --- a/news/components/ArticleMeta.js +++ b/news/components/ArticleMeta.js @@ -5,6 +5,9 @@ import differenceInMinutes from 'date-fns/difference_in_minutes'; import differenceInHours from 'date-fns/difference_in_hours'; import differenceInDays from 'date-fns/difference_in_calendar_days'; import format from 'date-fns/format'; +import FontAwesomeIcon from '@fortawesome/react-fontawesome'; +import { faCalendarAlt, faClock } from '@fortawesome/free-regular-svg-icons'; +import { faFreeCodeCamp } from '@fortawesome/free-brands-svg-icons'; const propTypes = { article: PropTypes.object @@ -64,10 +67,17 @@ function ArticleMeta({
By {author.name} - {getTimeString(firstPublishedDate)} - {`${meta.readTime} minute read`} + + {' '} + {getTimeString(firstPublishedDate)} + + + {`${meta.readTime} minute read`} + {viewCount >= 100 ? ( - {`${viewCount} views`} + + {`${viewCount} views`} + ) : null}
diff --git a/news/routes/Show/components/Author.js b/news/routes/Show/components/Author.js index 2f69893d90..7a7062d7e0 100644 --- a/news/routes/Show/components/Author.js +++ b/news/routes/Show/components/Author.js @@ -39,7 +39,7 @@ const styles = ` function Author({ article }) { const { - author: { avatar, bio } + author: { avatar } } = article; return (
@@ -49,7 +49,6 @@ function Author({ article }) {
- {bio.slice(0, 101)}
); diff --git a/package-lock.json b/package-lock.json index 58ccc49ff1..8ffecb63dd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,6 +17,66 @@ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.1.7.tgz", "integrity": "sha512-ego8jRVSHfq/iq4KRZJKQeUAdi3ZjGNrqw4oPN3fNdvTBnLCSntwVCnc37bsAJP9UB8MhrTfPnZYxkv2vpS4pg==" }, + "@fortawesome/fontawesome-svg-core": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.2.tgz", + "integrity": "sha512-j+DmvRF3FPekdLir3ocSl3fO12FxKXEot/kqeodUqTBsmU0EcPvRLn9ip3xzQrMSJ2cWyqv4GNxFm5kT0XR8mw==", + "requires": { + "@fortawesome/fontawesome-common-types": "0.2.2" + }, + "dependencies": { + "@fortawesome/fontawesome-common-types": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.2.tgz", + "integrity": "sha512-OBzXzYJ+nDMece2nKeuV7hLuwqPN3jv1Fk56gag2DL4BiwWl8gkFQplj5Krep9HwtjFxbM6/DWN6ZG7FRC5N0w==" + } + } + }, + "@fortawesome/free-brands-svg-icons": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.2.0.tgz", + "integrity": "sha512-rGO6+T8u5/zevLOht5dLwO3yMtWJMowh3JCDo6Nr/UNk4kn1hQSPquKgfJAn1fra+hI1lNeNlREILoQmiSLDKw==", + "requires": { + "@fortawesome/fontawesome-common-types": "0.2.2" + }, + "dependencies": { + "@fortawesome/fontawesome-common-types": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.2.tgz", + "integrity": "sha512-OBzXzYJ+nDMece2nKeuV7hLuwqPN3jv1Fk56gag2DL4BiwWl8gkFQplj5Krep9HwtjFxbM6/DWN6ZG7FRC5N0w==" + } + } + }, + "@fortawesome/free-regular-svg-icons": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-5.2.0.tgz", + "integrity": "sha512-7mqDUTtQKzZBCHWIb5/H8yi0ZkOfG0oygiBuzZ5OpE3UfaHZ6SuUfdgSfd0jJ9q08DzfYxlZ21EPfwbOceox8w==", + "requires": { + "@fortawesome/fontawesome-common-types": "0.2.2" + }, + "dependencies": { + "@fortawesome/fontawesome-common-types": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.2.tgz", + "integrity": "sha512-OBzXzYJ+nDMece2nKeuV7hLuwqPN3jv1Fk56gag2DL4BiwWl8gkFQplj5Krep9HwtjFxbM6/DWN6ZG7FRC5N0w==" + } + } + }, + "@fortawesome/free-solid-svg-icons": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.2.0.tgz", + "integrity": "sha512-ZgUtvhtdOMGaXSenAxzjVhn+Bz1tYKqUPIVeZ/40vrilOu8dF95EjRW1JcUJ938gNE8pjaB/G2AlJN8T0wcXxw==", + "requires": { + "@fortawesome/fontawesome-common-types": "0.2.2" + }, + "dependencies": { + "@fortawesome/fontawesome-common-types": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.2.tgz", + "integrity": "sha512-OBzXzYJ+nDMece2nKeuV7hLuwqPN3jv1Fk56gag2DL4BiwWl8gkFQplj5Krep9HwtjFxbM6/DWN6ZG7FRC5N0w==" + } + } + }, "@fortawesome/react-fontawesome": { "version": "0.0.20", "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.0.20.tgz", diff --git a/package.json b/package.json index 9ce3f5fe8a..50a8aa7cab 100644 --- a/package.json +++ b/package.json @@ -41,6 +41,10 @@ "license": "(BSD-3-Clause AND CC-BY-SA-4.0)", "dependencies": { "@fortawesome/fontawesome": "^1.1.8", + "@fortawesome/fontawesome-svg-core": "^1.2.2", + "@fortawesome/free-brands-svg-icons": "^5.2.0", + "@fortawesome/free-regular-svg-icons": "^5.2.0", + "@fortawesome/free-solid-svg-icons": "^5.2.0", "@fortawesome/react-fontawesome": "0.0.20", "@freecodecamp/curriculum": "^3.1.1", "@freecodecamp/loopback-component-passport": "^1.0.0",