<commit_before>import { formatPostLinkTarget, formatPostLinkTo } from '../../utils/url'
import { shortenString } from '../../utils/string'
import { Waypoint } from 'react-waypoint'
import { Link } from 'react-router-dom'
import LoadingSpinner from '../Spinner'
import mq from '../../utils/media-query'
import PropTypes from 'prop-types'
import React from 'react'
import Sizing from '../sizing'
import styled, { keyframes } from 'styled-components'
// @twreporter
import { replaceGCSUrlOrigin } from '@twreporter/core/lib/utils/storage-url-processor'
import { sourceHanSansTC as fontWeight } from '@twreporter/core/lib/constants/font-weight'
import Image from '@twreporter/react-article-components/lib/components/img-with-placeholder'
// lodash
import get from 'lodash/get'
import map from 'lodash/map'

const _ = {
  get,
  map,
}

const WaypointSensor = styled.div`
  height: 0;
  margin: 0 auto;
`

const fadeInDown = keyframes`
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
`

const CollectionTitle = styled.h3`
  margin: 0 auto 24px auto;
  padding: 0;
  font-size: 18px;
  font-weight: ${fontWeight.bold};
  border: 0;
  color: #262626;
  text-align: center;
`

const Collections = styled.ul`
  list-style: none;
  padding-left: 0;
`

const Item = styled.li`
  animation: ${fadeInDown} 0.5s;
  width: 100%;
  background-color: #ffffff;
  margin: 16px 0;
  transition: box-shadow 0.2s;
  &:hover {
    box-shadow: 0 4px 10px 0 hsla(0, 0%, 70%, 0.7);
  }
  ${mq.mobileOnly`
    margin: 10px 0;
    padding: 0 15px;
    width: 100%;
  `}
`

const Anchor = styled(Link)`
  text-decoration: none;
  display: table;
  margin: 0;
`

const ImageSizing = styled.div`
  width: 80px;
  height: 80px;
  margin-top: 28px;
  margin-left: 27px;
  margin-bottom: 27px;
  ${mq.mobileOnly`
    margin-left: 20px;
  `}
`

const Content = styled.div`
  display: table-cell;
  text-align: left;
  vertical-align: top;
  padding: 24px 24px 24px 16px;
`

const ItemTitle = styled.h4`
  color: #101010;
  vertical-align: text-top;
  display: inline-block;
  font-size: 20px;
  font-weight: ${fontWeight.bold};
  margin: 0;
`

const ItemDesc = styled.p`
  margin: 0;
  text-align: justify;
  vertical-align: text-bottom;
  color: #808080;
  font-size: 15px;
  ${mq.mobileOnly`
    display: none;
  `}
`

const LoadMore = styled.div`
  width: 100%;
  color: #c71b0a;
  margin: 0 auto 2rem auto;
  font-weight: ${fontWeight.bold};
  padding: 0.6rem 0;
  cursor: pointer;<commit_msg>fix: fix author page font family<commit_after>import { Waypoint } from 'react-waypoint'
import { Link } from 'react-router-dom'
import PropTypes from 'prop-types'
import React from 'react'
import styled, { keyframes } from 'styled-components'
// utils
import mq from '../../utils/media-query'
import { shortenString } from '../../utils/string'
import { formatPostLinkTarget, formatPostLinkTo } from '../../utils/url'
//components
import LoadingSpinner from '../Spinner'
import Sizing from '../sizing'
// constants
import typography from '../../constants/typography'
// @twreporter
import { replaceGCSUrlOrigin } from '@twreporter/core/lib/utils/storage-url-processor'
import Image from '@twreporter/react-article-components/lib/components/img-with-placeholder'
// lodash
import get from 'lodash/get'
import map from 'lodash/map'

const _ = {
  get,
  map,
}

const WaypointSensor = styled.div`
  height: 0;
  margin: 0 auto;
`

const fadeInDown = keyframes`
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
`

const CollectionTitle = styled.h3`
  margin: 0 auto 24px auto;
  padding: 0;
  font-size: 18px;
  font-weight: ${typography.font.weight.bold};
  border: 0;
  color: #262626;
  text-align: center;
`

const Collections = styled.ul`
  list-style: none;
  padding-left: 0;
`

const Item = styled.li`
  animation: ${fadeInDown} 0.5s;
  width: 100%;
  background-color: #ffffff;
  margin: 16px 0;
  transition: box-shadow 0.2s;
  &:hover {
    box-shadow: 0 4px 10px 0 hsla(0, 0%, 70%, 0.7);
  }
  ${mq.mobileOnly`
    margin: 10px 0;
    padding: 0 15px;
    width: 100%;
  `}
`

const Anchor = styled(Link)`
  text-decoration: none;
  display: table;
  margin: 0;
`

const ImageSizing = styled.div`
  width: 80px;
  height: 80px;
  margin-top: 28px;
  margin-left: 27px;
  margin-bottom: 27px;
  ${mq.mobileOnly`
    margin-left: 20px;
  `}
`

const Content = styled.div`
  display: table-cell;
  text-align: left;
  vertical-align: top;
  padding: 24px 24px 24px 16px;
`

const ItemTitle = styled.h4`
  color: #101010;
  vertical-align: text-top;
  display: inline-block;
  font-size: 20px;
  font-weight: ${typography.font.weight.bold};
  font-family: ${typography.font.fontFamily.title};
  margin: 0;
`

const ItemDesc = styled.p`
  margin: 0;
  text-align: justify;
  vertical-align: text-bottom;
  color: #808080;
  font-size: 15px;
  ${mq.mobileOnly`
    display: none;
  `}
`

const LoadMore = styled.div`
  width: 100%;
  color: #c71b0a;
  margin: 0 auto 2rem auto;
  font-weight: ${typography.font.weight.bold};
  padding: 0.6rem 0;
  cursor: pointer;
{'fraction_non_alphanumeric': 0.14407271320827694, 'fraction_numerical': 0.041384645136337266, 'mean_word_length': 3.470181503889369, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5621133', 'n_tokens_mistral': 2065, 'n_tokens_neox': 1888, 'n_words': 489}