diff --git a/views/pages/works.ts b/views/pages/works.ts index f278f46..45cdc42 100644 --- a/views/pages/works.ts +++ b/views/pages/works.ts @@ -13,135 +13,7 @@ export function WorksPage(ctx: Context): AnyNode { return PageLayout(ctx, [ E("div", classNames("content-width gap-v-1x5 responsive-typography"), [ H3(ctx.tr.Chronological), - ChronologicalWorksTable([ - { - name: RepoLink("paren", "/pleshevskiy/paren"), - description: "Library for parsing and rendering information.", - roles: [Role.Author], - technologies: [Technology.TypeScript, Technology.Deno], - start: "2022", - statuses: [Status.ActiveDeveloped, Status.Experimental], - }, - { - name: RepoLink("hwt", "//github.com/pleshevskiy/hwt"), - description: - "healthy workaholic timer – A tool that keeps you from breaking your health by working all day.", - roles: [Role.Author], - technologies: [Technology.Rust], - start: "2022", - statuses: [Status.ActiveDeveloped], - }, - { - name: RepoLink("migra", "//github.com/pleshevskiy/migra"), - description: "Simple SQL migration manager for your project.", - roles: [Role.Author], - technologies: [Technology.Rust], - start: "2021", - statuses: [Status.AsIs], - }, - { - name: RepoLink( - "ood_persistence", - "//github.com/pleshevskiy/ood_persistence", - ), - description: - "Asynchronous and synchronous interfaces and persistence implementations for your OOD architecture ", - roles: [Role.Author], - technologies: [Technology.Rust], - start: "2021", - statuses: [Status.Deprecated, Status.Experimental], - }, - { - name: RepoLink( - "espruino-starter", - "//github.com/pleshevskiy/espruino-starter", - ), - description: - "Quickly start creating your new project on the espruino board or a board based on it.", - roles: [Role.Author], - technologies: [Technology.JavaScript], - start: "2021", - statuses: [Status.AsIs], - }, - { - name: RepoLink( - "sonic-channel", - "//github.com/pleshevskiy/sonic-channel", - ), - description: "Rust client for sonic search backend.", - roles: [Role.Author], - technologies: [Technology.Rust], - start: "2020", - statuses: [Status.PassivelyMaintained], - }, - { - name: RepoLink( - "react-rest-request", - "//github.com/pleshevskiy/react-rest-request", - ), - description: - "Minimalistic REST API client for React inspired by Apollo.", - roles: [Role.Author], - technologies: [Technology.TypeScript, Technology.React], - start: "2020", - statuses: [Status.AsIs], - }, - { - name: RepoLink("itconfig", "/pleshevskiy/itconfig"), - description: - "Easy build a configs from environment variables and use it in globally.", - roles: [Role.Author], - technologies: [Technology.Rust], - start: "2019", - statuses: [Status.PassivelyMaintained], - }, - { - name: Link("Cabinet Master Progress", { - href: "https://cabinet.masterprogress.ru", - }), - description: - "Student's cabinet of the educational center Master Progress (SSR + SPA)", - roles: [Role.TechLead], - technologies: [ - Technology.Python, - Technology.Flask, - Technology.Postgresql, - Technology.TypeScript, - Technology.React, - ], - start: "2019", - statuses: [Status.PassivelyMaintained], - }, - { - name: Link("Master Progress", { href: "https://masterprogress.ru" }), - description: - "Main website of the educational center Master Progress (SSR + Forms)", - roles: [Role.TechLead], - technologies: [ - Technology.Python, - Technology.Flask, - Technology.JavaScript, - ], - start: "2018", - statuses: [Status.PassivelyMaintained], - }, - { - name: RepoLink("ictmpl", "//github.com/pleshevskiy/ictmpl"), - description: "Generate projects from templates", - roles: [Role.Author], - technologies: [Technology.Python], - start: "2018", - statuses: [Status.AsIs], - }, - { - name: RepoLink("jjcrypto", "//github.com/pleshevskiy/ictmpl"), - description: "Javascript encoder and decoder", - roles: [Role.Author], - technologies: [Technology.Php], - start: "2015", - statuses: [Status.AsIs], - }, - ]), + ChronologicalWorksTable(CHRONOLOGICAL_WORKS), ]), ]); } @@ -200,6 +72,8 @@ enum Technology { Flask = "Flask", React = "React", Postgresql = "PostgreSQL", + Docker = "Docker", + Drone = "Drone", } enum Status { @@ -227,3 +101,173 @@ enum Status { // there could be problems with the package that the author does not want to fix). Deprecated = "deprecated", } + +const CHRONOLOGICAL_WORKS: Work[] = [ + { + name: RepoLink("paren", "/pleshevskiy/paren"), + description: "Library for parsing and rendering information.", + roles: [Role.Author], + technologies: [Technology.TypeScript, Technology.Deno], + start: "2022", + statuses: [Status.ActiveDeveloped, Status.Experimental], + }, + { + name: RepoLink("recipes", "/pleshevskiy/recipes"), + description: "Site with recipes which cares about privacy", + roles: [Role.Author], + technologies: [Technology.TypeScript, Technology.Deno, Technology.Rust], + start: "2022", + statuses: [Status.ActiveDeveloped], + }, + { + name: RepoLink("pleshevski.ru", "/pleshevskiy/pleshevski.ru"), + description: "Source code of my personal site", + roles: [Role.Author], + technologies: [ + Technology.TypeScript, + Technology.Deno, + Technology.Docker, + Technology.Drone, + ], + start: "2022", + statuses: [Status.PassivelyMaintained], + }, + { + name: RepoLink("drone_plugins/docker_stack", "/drone_plugins/docker_stack"), + description: "Deploy to production using `docker stack deploy`", + roles: [Role.Author], + technologies: [Technology.Docker, Technology.Drone], + start: "2022", + statuses: [Status.PassivelyMaintained], + }, + { + name: RepoLink("hwt", "//github.com/pleshevskiy/hwt"), + description: + "healthy workaholic timer – A tool that keeps you from breaking your health by working all day.", + roles: [Role.Author], + technologies: [Technology.Rust], + start: "2022", + statuses: [Status.ActiveDeveloped], + }, + { + name: RepoLink("migra", "//github.com/pleshevskiy/migra"), + description: "Simple SQL migration manager for your project.", + roles: [Role.Author], + technologies: [Technology.Rust], + start: "2021", + statuses: [Status.AsIs], + }, + { + name: RepoLink( + "ood_persistence", + "//github.com/pleshevskiy/ood_persistence", + ), + description: + "Asynchronous and synchronous interfaces and persistence implementations for your OOD architecture ", + roles: [Role.Author], + technologies: [Technology.Rust], + start: "2021", + statuses: [Status.Deprecated, Status.Experimental], + }, + { + name: RepoLink( + "espruino-starter", + "//github.com/pleshevskiy/espruino-starter", + ), + description: + "Quickly start creating your new project on the espruino board or a board based on it.", + roles: [Role.Author], + technologies: [Technology.JavaScript], + start: "2021", + statuses: [Status.AsIs], + }, + { + name: RepoLink( + "sonic-channel", + "//github.com/pleshevskiy/sonic-channel", + ), + description: "Rust client for sonic search backend.", + roles: [Role.Author], + technologies: [Technology.Rust], + start: "2020", + statuses: [Status.PassivelyMaintained], + }, + { + name: RepoLink( + "react-rest-request", + "//github.com/pleshevskiy/react-rest-request", + ), + description: "Minimalistic REST API client for React inspired by Apollo.", + roles: [Role.Author], + technologies: [Technology.TypeScript, Technology.React], + start: "2020", + statuses: [Status.AsIs], + }, + { + name: RepoLink("itconfig", "/pleshevskiy/itconfig"), + description: + "Easy build a configs from environment variables and use it in globally.", + roles: [Role.Author], + technologies: [Technology.Rust], + start: "2019", + statuses: [Status.PassivelyMaintained], + }, + { + name: RepoLink("it-fsm", "/pleshevskiy/it-fsm"), + description: "Simple full-featured finite state machine for your project", + roles: [Role.Author], + technologies: [Technology.TypeScript, Technology.NodeJS, Technology.Deno], + start: "2019", + statuses: [Status.PassivelyMaintained], + }, + { + name: Link("Cabinet Master Progress", { + href: "https://cabinet.masterprogress.ru", + }), + description: + "Student's cabinet of the educational center Master Progress (SSR + SPA)", + roles: [Role.TechLead], + technologies: [ + Technology.Python, + Technology.Flask, + Technology.Postgresql, + Technology.TypeScript, + Technology.React, + Technology.Docker, + Technology.Drone, + ], + start: "2019", + statuses: [Status.PassivelyMaintained], + }, + { + name: Link("Master Progress", { href: "https://masterprogress.ru" }), + description: + "Main website of the educational center Master Progress (SSR + Forms)", + roles: [Role.TechLead], + technologies: [ + Technology.Python, + Technology.Flask, + Technology.JavaScript, + Technology.Docker, + Technology.Drone, + ], + start: "2018", + statuses: [Status.PassivelyMaintained], + }, + { + name: RepoLink("ictmpl", "//github.com/pleshevskiy/ictmpl"), + description: "Generate projects from templates", + roles: [Role.Author], + technologies: [Technology.Python], + start: "2018", + statuses: [Status.AsIs], + }, + { + name: RepoLink("jjcrypto", "//github.com/pleshevskiy/ictmpl"), + description: "Javascript encoder and decoder", + roles: [Role.Author], + technologies: [Technology.Php], + start: "2015", + statuses: [Status.AsIs], + }, +];