aboutsummaryrefslogtreecommitdiffstats
path: root/src/content
Commit message (Collapse)AuthorAgeFilesLines
* refactor(pages): rewrite helpers to output schema in json-ld formatArmand Philippot2023-12-141-0/+0
| | | | | | | | | | | | | * make sure url are absolutes * nest breadcrumb schema in webpage schema * trim HTML tags from content/description * use a regular script instead of next/script (with the latter the schema is not updated on route change) * place the script in document head * add keywords, wordCount and readingTime keys in BlogPosting schema * fix breadcrumbs in search page (without query) * add tests (a `MatchInlineSnapshot` will be better but Prettier 3 is not supported yet)
* refactor(pages): refine LegalNotice pageArmand Philippot2023-12-091-0/+0
| | | | | | * remove unnecessary dependency (useRouter) * fix React errors (blurWidth/blurHeight) * complete Cypress tests
* refactor(pages): refine Project pagesArmand Philippot2023-12-081-0/+0
| | | | | | | | | | | * refactor ProjectOverview component to let consumers handle the value * extract project overview depending on Github to avoid fetching Github API if the project is not on Github * wrap dynamic import in a useMemo hook to avoid infinite rerender * fix table of contents by adding a useMutationObserver hook to refresh headings tree (without it useHeadingsTree is not retriggered once the dynamic import is done) * add Cypress tests
* refactor(pages): refine Projects pageArmand Philippot2023-12-071-0/+0
| | | | | | | * add a `contexts` meta key to projects * replace `technologies` with `contexts` key in projects list * make getProjectsFilenames async * add Cypress tests
* refactor(pages): refine CV pageArmand Philippot2023-11-291-0/+0
| | | | | | * reduce the number of statements by grouping the messages * remove LinkedIn from the widget (it is obviously not a repo and my CV is already here, no need to link to an external site)
* refactor(pages): improve HomepageArmand Philippot2023-11-291-0/+0
| | | | | | | | | * move custom homepage components that does not require props to the MDX file (links should not need to be translated here but where they are defined) * move SEO title and meta desc to MDX file * make Page component the wrapper instead of using a React fragment * fix MDX module types
* refactor(components,pages): extract MDX components mapping from pagesArmand Philippot2023-11-221-0/+0
| | | | | | | Instead of repeating the overriding on each pages, we should define it in one place and reuse it in pages. By default it is not possible to override native HTML tags with MDX so I added a plugin in next config to allow it.
* feat(components): add a generic Grid componentArmand Philippot2023-11-111-0/+0
| | | | | * merge Columns, Gallery and CardsList into Grid component * add more options to control the grid
* refactor(components): rewrite Code component and usePrism hookArmand Philippot2023-11-111-0/+0
| | | | | | | | | | | | * move Prism styles to Sass placeholders to avoid repeats * let usePrism consumer define its plugins (remove default ones) * remove `plugins` prop from Code component * add new props to Code component to let consumer configure plugins (and handle plugin list from the given options) However there are some problems with Prism plugins: line-highlight and treeview does not seems to be loaded. I don't want to use Babel instead of SWC so I have no solution for now.
* refactor(components): rewrite Link componentArmand Philippot2023-11-111-0/+0
| | | | | | | | | * rename `external` prop to `isExternal` * rename `download` prop to `isDownload` * rewrite CSS to reduce code length and complexity * move link styles in Sass placeholders to avoid repeats because of WordPress articles * move NavLink component to molecules
* build(deps): add cSpell to lint and fix spelling errorsArmand Philippot2023-09-211-0/+0
|
* chore(pages): update CVArmand Philippot2023-09-201-0/+0
|
* refactor(build): replace paths aliases with relative pathsArmand Philippot2023-09-191-0/+0
| | | | | | Using paths aliases starting with "@" can be confusing and can lead to conflict with existings modules. I prefer to use relative paths to avoid extra configuration in tools because of these aliases.
* chore: make Links and Images compliant with Next.js 13Armand Philippot2023-01-231-0/+0
|
* chore(content): fix typo and complete some contents on Home & CVArmand Philippot2022-09-211-0/+0
|
* chore: update CVArmand Philippot2022-08-211-0/+0
|
* chore: add DigDir projectArmand Philippot2022-08-211-0/+0
|
* chore(content): update CVArmand Philippot2022-06-221-0/+0
|
* chore: add an aria label to code blocksArmand Philippot2022-06-071-0/+0
| | | | | Prism is adding a tabindex to code blocks, so I think an aria label can help screen reader users to identify the tabbed content.
* chore: update contentsArmand Philippot2022-05-241-0/+0
|
* refactor: load prism plugins without babelArmand Philippot2022-03-241-0/+0
|
* chore: add wp-graphql-get-extended projectArmand Philippot2022-03-021-0/+0
|
* chore: add demo projectArmand Philippot2022-02-231-0/+0
|
* feat: improve Ackee tracking (#11)Armand Philippot2022-02-231-0/+0
| | | | | | | | | | | | | | | | | * build(deps): add use-ackee hook package * chore: create a context provider for Ackee The provider allows users to change the 'detailed' settings. * chore: add a select menu to choose which info to share with Ackee * chore: add a tooltip for askee settings * chore: replace default select styles with custom styles * chore: register user choice in localstorage * chore: replace Matomo with Ackee in legal notice
* chore: update legal notice informationArmand Philippot2022-02-221-0/+0
| | | | Some contents was outdated since the new version of my website.
* chore(homepage): use next/image for images and specify width/heightArmand Philippot2022-02-221-0/+0
|
* chore: update homepage and cv contentsArmand Philippot2022-02-161-0/+0
|
* chore: load recent posts on homepage during buildArmand Philippot2022-02-141-0/+0
| | | | This way, even whithout JS, user can see the latest posts.
* chore: improve accessibilityArmand Philippot2022-02-111-0/+0
|
* chore: add the Matomo opt-out formArmand Philippot2022-02-011-0/+0
|
* fix(project): make sure the project cover is displayedArmand Philippot2022-01-271-0/+0
| | | | | | | | Next.js does not support the dynamic import of images. Sometimes the images was displayed and other times the loading did not finish. So even if I would like to keep the content in a same place, I choose to put the projects covers inside the public directory. Then I use a hasCover boolean to determine if the project cover need to be printed.
* chore: add a page for projectsArmand Philippot2022-01-201-0/+0
|
* chore: update sidebar and widgets stylesArmand Philippot2022-01-151-0/+0
| | | | | | | | | I'm now using a widget that can be expanded/collapsed. It also allows me to handle more effectively widgets overflow and to avoid styles repetitions. However, with stylelint rule "no-descending-specificity", I'm not sure if the stylesheets are really logical... Maybe I should deactivate this rule.
* chore: add PDF and image format to CV pageArmand Philippot2022-01-101-0/+0
|
* chore: update homepage stylesArmand Philippot2022-01-081-0/+0
|
* chore: move Main grid to its childrenArmand Philippot2022-01-061-0/+0
| | | | This way I can use full width background for some blocks.
* chore: add a recent posts widget to the homepageArmand Philippot2022-01-041-0/+0
|
* chore(homepage): replace absolute links with custom componentsArmand Philippot2021-12-291-0/+0
|
* chore: replace CV content with mdx contentArmand Philippot2021-12-241-0/+0
| | | | | Since I replace the other pages, there is no reason to fetch this page content through WP GraphQL.
* chore: replace legal notice page content with MDX contentArmand Philippot2021-12-241-0/+0
| | | | | I cannot use WordPress shortcodes from a custom plugin through WP GraphQL so I'm using mdx file instead to define the page content.
* build: add a git submodule to manage content in a separate repoArmand Philippot2021-12-241-0/+0