mirror of
https://github.com/avinal/avinal.github.io.git
synced 2026-07-03 23:30:09 +05:30
add botton informations
Signed-off-by: Avinal Kumar <avinal.xlvii@gmail.com>
This commit is contained in:
@@ -1 +1,20 @@
|
||||
# My personal website
|
||||
|
||||
**description will be updated soon.**
|
||||
|
||||
## Resources
|
||||
|
||||
- <https://mambaui.com/>
|
||||
- <https://codebeautify.org/jsonminifier>
|
||||
- <https://codeshack.io/json-sorter/>
|
||||
- <https://prismjs.com/index.html>
|
||||
- <https://elm.land>
|
||||
- <https://max.hn/thoughts/using-tailwind-css-in-elm-and-vscode>
|
||||
- <https://tailwindcss.com/>
|
||||
- <https://tailwind-elements.com/>
|
||||
- <https://github.com/annaghi/elm-github-pages>
|
||||
- <https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements>
|
||||
- <https://elm-lang.org/>
|
||||
- <https://tailblocks.cc/>
|
||||
- <https://wickedblocks.dev/>
|
||||
- <https://merakiui.com/>
|
||||
|
||||
@@ -1 +1 @@
|
||||
[{"title":"Developing Minimal Tekton Server","date":"2022-02-27 20:47","category":"development","description":"This blog is a descreptive account of the development of Minimal Tekton Server. This is highly technical in nature, so please make sure that you have sufficient knowledge about Golang, Docker, Kubernetes and TektonCD. You can refer to my [previous blog](\"https://avinal.space/posts/development/i-am-loving-it-redhat.html\") to know about these topics.","slug":"lovely-dangerous-things-redhat","image":"/images/development.webp"},{"title":"I am loving it! RedHat","date":"2022-02-25 20:47","category":"development","description":"I made it to the Red Hat as a DevTools intern. This post is about onboarding and how I prepared myself for working on the actual project.","slug":"i-am-loving-it-redhat","image":"/images/fedora-wall.webp"},{"title":"Google Summer of Code 2021","date":"2021-08-19 23:07","category":"development","description":"This is the final report of my Google Summer of Code 2021 at The FOSSology Project. One of the major improvements over the previous build system is faster build times. CMake generates parallel build-enabled configurations for all generators.","slug":"final-evaluation","image":"/images/gsoc-wall.webp"},{"title":"How I implemented WakaTime embeddable Coding Graph GHA?","date":"2021-02-02 21:47","category":"development","description":"If you use WakaTime to track your coding activity. You can add that to your README as a bar graph or embed it in your blog/portfolio. Just add this action to any of your repositories and there you have it.","slug":"wakatime","image":"/images/waka.webp"},{"title":"HRT (Hudson River Trading) Systems Internship Interview Experience","date":"2021-01-04 21:47","category":"blogs","slug":"hrt-interview-1","description":"uestions were clear and of medium level. But they were designed in such a way that you must know the basics before you could attempt. Also, they expected a clear and concise approach.","image":"/images/hrt-singapore.webp"},{"title":"Move WSL 2 Safely to another Drive","date":"2020-12-31 19:07","category":"development","description":"It is real pain when you have small SSD and Windows Subsystem for Linux (WSL) is growing exponentially in size. There is no easy way to move the WSL installation to another drive. Here in this blog I will discuss how to tackle this problem with bite size steps.","slug":"wsl2-move","image":"/images/windows-wsl2.webp"},{"title":"Create the VLC User Documentation for one Mobile Port(Android)","date":"2020-12-01 23:47","category":"blogs","description":"The project was to Create the VLC User Documentation for Android Mobile Port which was previously hosted on VLC wiki pages. The major portion of this was to start everything from scratch including chapter separation, section organization.","slug":"gsod2020-report","image":"/images/day-of-cone.webp"},{"title":"प्रेम रतन धन पायो","date":"2019-09-21 15:47","category":"articles","slug":"for-sunshine","description":"प्रकृति की सुंदरता और कलाकारी हिमालय की कण-कण में झलकती है। प्रकृति ने प्रेम को भी हिमालय के जितना ही विशाल और अलौकिक बनाया है । ये एक अलग चर्चा का विषय है कि हिमालय पहले आया या प्रेम। मैं तो प्रेम के पक्ष में हूँ । वो हर अणु-परमाणु जिन्होंने इतने बड़ा पहाड़ खड़ा किया वो सब आपस में प्रेम से बंधे हुए हैं। ये पृथ्वी, सूर्य, चंद्रमा, आकाश-गंगा इत्यादि सब प्रेम से बंधे हुए हैं","image":"/images/fedora-night.webp"},{"title":"The Big Red Ants","date":"2012-02-27 22:47","category":"articles","description":"As I observed them making and reparing their nests, I concluded that they are laborious and intellectual. They create their nests bybinding two or more leaves (maybe up to 500) together. They stich the leaves using a stinky white substance either excreted by themselves or from trees.","slug":"big-red-ants","image":"/images/ants.webp"}]
|
||||
[{"title":"Developing Minimal Tekton Server","date":"2022-02-27 20:47","category":"development","description":"This blog is a descreptive account of the development of Minimal Tekton Server. This is highly technical in nature, so please make sure that you have sufficient knowledge about Golang, Docker, Kubernetes and TektonCD. You can refer to my [previous blog](\"https://avinal.space/posts/development/i-am-loving-it-redhat.html\") to know about these topics.","slug":"lovely-dangerous-things-redhat","image":"/images/development.webp"},{"title":"I am loving it! RedHat","date":"2022-02-25 20:47","category":"development","description":"I made it to the Red Hat as a DevTools intern. This post is about onboarding and how I prepared myself for working on the actual project.","slug":"i-am-loving-it-redhat","image":"/images/fedora-wall.webp"},{"title":"Google Summer of Code 2021","date":"2021-08-19 23:07","category":"development","description":"This is the final report of my Google Summer of Code 2021 at The FOSSology Project. One of the major improvements over the previous build system is faster build times. CMake generates parallel build-enabled configurations for all generators.","slug":"final-evaluation","image":"/images/gsoc-wall.webp"},{"title":"How I implemented WakaTime embeddable Coding Graph GHA?","date":"2021-02-02 21:47","category":"development","description":"If you use WakaTime to track your coding activity. You can add that to your README as a bar graph or embed it in your blog/portfolio. Just add this action to any of your repositories and there you have it.","slug":"wakatime","image":"/images/waka.webp"},{"title":"HRT (Hudson River Trading) Systems Internship Interview Experience","date":"2021-01-04 21:47","category":"blogs","slug":"hrt-interview-1","description":"uestions were clear and of medium level. But they were designed in such a way that you must know the basics before you could attempt. Also, they expected a clear and concise approach.","image":"/images/hrt-singapore.webp"},{"title":"Move WSL 2 Safely to another Drive","date":"2020-12-31 19:07","category":"development","description":"It is real pain when you have small SSD and Windows Subsystem for Linux (WSL) is growing exponentially in size. There is no easy way to move the WSL installation to another drive. Here in this blog I will discuss how to tackle this problem with bite size steps.","slug":"wsl1","image":"/images/windows-wsl2.webp"},{"title":"Create the VLC User Documentation for one Mobile Port(Android)","date":"2020-12-01 23:47","category":"blogs","description":"The project was to Create the VLC User Documentation for Android Mobile Port which was previously hosted on VLC wiki pages. The major portion of this was to start everything from scratch including chapter separation, section organization.","slug":"gsod2020-report","image":"/images/day-of-cone.webp"},{"title":"प्रेम रतन धन पायो","date":"2019-09-21 15:47","category":"articles","slug":"for-sunshine","description":"प्रकृति की सुंदरता और कलाकारी हिमालय की कण-कण में झलकती है। प्रकृति ने प्रेम को भी हिमालय के जितना ही विशाल और अलौकिक बनाया है । ये एक अलग चर्चा का विषय है कि हिमालय पहले आया या प्रेम। मैं तो प्रेम के पक्ष में हूँ । वो हर अणु-परमाणु जिन्होंने इतने बड़ा पहाड़ खड़ा किया वो सब आपस में प्रेम से बंधे हुए हैं। ये पृथ्वी, सूर्य, चंद्रमा, आकाश-गंगा इत्यादि सब प्रेम से बंधे हुए हैं","image":"/images/fedora-night.webp"},{"title":"The Big Red Ants","date":"2012-02-27 22:47","category":"articles","description":"As I observed them making and reparing their nests, I concluded that they are laborious and intellectual. They create their nests bybinding two or more leaves (maybe up to 500) together. They stich the leaves using a stinky white substance either excreted by themselves or from trees.","slug":"big-red-ants","image":"/images/ants.webp"}]
|
||||
+2
-20
@@ -101,24 +101,6 @@ unsplash =
|
||||
view : Model -> View Msg
|
||||
view model =
|
||||
let
|
||||
taglist =
|
||||
[]
|
||||
|
||||
categoryNtags : String -> List String -> Html msg
|
||||
categoryNtags category tags =
|
||||
Html.span [ class "flex flex-wrap py-6 space-x-2 border-t border-dashed border-teal-500" ]
|
||||
(Html.b [ class "px-3 py-1 m-1 rounded-sm hover:underline dark:bg-pink-400 dark:text-gray-900" ]
|
||||
[ Html.text category
|
||||
]
|
||||
:: List.map
|
||||
(\tag ->
|
||||
Html.i [ class "px-3 py-1 m-1 rounded-sm hover:underline dark:bg-cyan-500 dark:text-gray-900" ]
|
||||
[ Html.text tag
|
||||
]
|
||||
)
|
||||
tags
|
||||
)
|
||||
|
||||
maincard : List JsonMeta -> Html msg
|
||||
maincard bloglist =
|
||||
case bloglist of
|
||||
@@ -131,7 +113,7 @@ view model =
|
||||
[ Html.text first.title ]
|
||||
, Html.span [ class "text-gray-400" ] [ Html.text first.date ]
|
||||
, Html.p [] [ Html.text <| String.left 200 first.description ]
|
||||
, categoryNtags first.category taglist
|
||||
, UU.categoryNtags first.category []
|
||||
]
|
||||
]
|
||||
, Html.div [ class "grid justify-center grid-cols-1 gap-6 sm:grid-cols-2 lg:grid-cols-3" ] <| List.map card rest
|
||||
@@ -148,7 +130,7 @@ view model =
|
||||
[ Html.h3 [ class "text-2xl font-semibold group-hover:underline group-focus:underline" ] [ Html.text blog.title ]
|
||||
, Html.span [ class " text-gray-400" ] [ Html.text blog.date ]
|
||||
, Html.p [] [ Html.text <| String.left 200 blog.description ]
|
||||
, categoryNtags blog.category taglist
|
||||
, UU.categoryNtags blog.category []
|
||||
]
|
||||
]
|
||||
|
||||
|
||||
+134
-5
@@ -2,13 +2,16 @@ module Pages.Posts.ALL_ exposing (Model, Msg, page)
|
||||
|
||||
import Effect exposing (Effect)
|
||||
import Html exposing (Html)
|
||||
import Html.Attributes
|
||||
import Html.Attributes exposing (class, href, rel, src)
|
||||
import Http
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
import Shared
|
||||
import Svg exposing (path, svg)
|
||||
import Svg.Attributes as SvgAttr
|
||||
import Url exposing (Protocol(..))
|
||||
import Utils.Constants
|
||||
import Utils.Utils as UU
|
||||
import View exposing (View)
|
||||
import Yaml.Decode as Yaml
|
||||
@@ -129,15 +132,141 @@ view model =
|
||||
case model.blog of
|
||||
Just blog ->
|
||||
{ title = "Blog | " ++ blog.meta.title
|
||||
, body = [ articleNode blog.content ]
|
||||
, body =
|
||||
[ Html.img
|
||||
[ class "object-cover w-full h-60 sm:h-96 rounded"
|
||||
, src blog.meta.image
|
||||
]
|
||||
[]
|
||||
, articleNode blog.content
|
||||
, Html.div [ class "text-center text-neutral-300 border-t border-dashed border-teal-500 p-2" ]
|
||||
[ Html.text <| "Published on " ++ blog.meta.date ++ " under "
|
||||
, Html.a [ href "https://www.mozilla.org/en-US/MPL/2.0/" ] [ Html.text "Mozilla Public License 2.0" ]
|
||||
, Html.text " if you found an issue with the page, please report it "
|
||||
, Html.a [ href <| "https://github.com/avinal/avinal.github.io/issues/new?title=bug:+" ++ String.replace " " "+" blog.meta.title ] [ Html.text "here." ]
|
||||
]
|
||||
, UU.categoryNtags blog.meta.category blog.meta.tags
|
||||
, Html.div [ class "flex flex-col space-y-2 md:space-y-0 md:space-x-6 md:flex-row border-t border-neutral-700" ]
|
||||
[ Html.img
|
||||
[ class "self-center flex-shrink-0 w-24 h-24 border rounded-full md:justify-self-start"
|
||||
, src "https://github.com/avinal.png"
|
||||
]
|
||||
[]
|
||||
, Html.div [ class "flex flex-col self-center" ]
|
||||
[ Html.h4 [ class "text-xl font-semibold " ] [ Html.text "Avinal Kumar" ]
|
||||
, Html.p [ class "text-gray-400" ]
|
||||
[ Html.text "I am a Associate Software Engineer at Red Hat and I work for Hybrid Cloud Engineering. I contribute to Open Source projects and write blogs in tech and literature."
|
||||
]
|
||||
]
|
||||
]
|
||||
, Html.div [ class "flex justify-center space-x-4 align-center text-neutral-600 text-xl" ]
|
||||
(List.map
|
||||
(\iconlink ->
|
||||
Html.a [ href iconlink.url, class "hover:text-pink-500" ] [ Html.i [ class iconlink.icon ] [] ]
|
||||
)
|
||||
Utils.Constants.iconLinks
|
||||
)
|
||||
]
|
||||
}
|
||||
|
||||
Nothing ->
|
||||
{ title = "Be My SpaceTime | Something went wrong"
|
||||
, body = [ articleNode <| Maybe.withDefault "" model.error ]
|
||||
, body =
|
||||
[ case model.error of
|
||||
Just err ->
|
||||
errorView err
|
||||
|
||||
Nothing ->
|
||||
Html.div [ class "flex items-center justify-center flex-col object-cover object-center " ]
|
||||
[ svg
|
||||
[ SvgAttr.width "85"
|
||||
, SvgAttr.height "80"
|
||||
, SvgAttr.shapeRendering "crispEdges"
|
||||
]
|
||||
[ Svg.style
|
||||
[ SvgAttr.type_ "text/css"
|
||||
]
|
||||
[ Html.text ".color { -webkit-animation: col 1s linear infinite; -moz-animation: col 1s linear infinite; -o-animation: col 1s linear infinite; animation: col 1s linear infinite; } @keyframes col { 0% { fill: #EE67A4; } 12.5% { fill: violet; } 25% { fill: indigo; } 37.5% { fill: blue; } 50% { fill: #35BEB8 } 62.5% { fill: green; } 75% { fill: yellow; } 87.5% { fill: orange; } 100% { fill: red; } } .rcolor { -webkit-animation: rcol 1s linear infinite; -moz-animation: rcol 1s linear infinite; -o-animation: rcol 1s linear infinite; animation: rcol 1s linear infinite; } @keyframes rcol { 0% { fill: #35BEB8; } 12.5% { fill: blue; } 25% { fill: indigo; } 37.5% { fill: violet; } 50% { fill: #EE67A4; } 62.5% { fill: red; } 75% { fill: orange; } 87.5% { fill: yellow; } 100% { fill: green; } }" ]
|
||||
, Svg.symbol
|
||||
[ SvgAttr.id "logo"
|
||||
, SvgAttr.viewBox "0 -60 65 60"
|
||||
]
|
||||
[ path
|
||||
[ SvgAttr.class "st0 color"
|
||||
, SvgAttr.d "M60-60H0V0h60z"
|
||||
]
|
||||
[]
|
||||
, path
|
||||
[ SvgAttr.class "st1"
|
||||
, SvgAttr.d "M60-41h-5v10h5z"
|
||||
]
|
||||
[]
|
||||
, path
|
||||
[ SvgAttr.class "st2 rcolor"
|
||||
, SvgAttr.d "M65-41h-5v10h5z"
|
||||
]
|
||||
[]
|
||||
]
|
||||
, Svg.use
|
||||
[ SvgAttr.xlinkHref "#logo"
|
||||
, SvgAttr.width "65"
|
||||
, SvgAttr.height "60"
|
||||
, SvgAttr.id "XMLID_14_"
|
||||
, SvgAttr.y "-60"
|
||||
, SvgAttr.transform "scale(1 -1)"
|
||||
, SvgAttr.overflow "visible"
|
||||
]
|
||||
[]
|
||||
]
|
||||
]
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
errorView : String -> Html msg
|
||||
errorView error =
|
||||
Html.div
|
||||
[ class "flex items-center rounded shadow-md overflow-hidden max-w-xl relative dark:bg-neutral-900 dark:text-gray-100"
|
||||
]
|
||||
[ Html.div
|
||||
[ class "self-stretch flex items-center px-3 flex-shrink-0 dark:bg-gray-700 dark:text-pink-500"
|
||||
]
|
||||
[ svg
|
||||
[ SvgAttr.fill "none"
|
||||
, SvgAttr.viewBox "0 0 24 24"
|
||||
, SvgAttr.stroke "currentColor"
|
||||
, SvgAttr.class "h-8 w-8"
|
||||
]
|
||||
[ path
|
||||
[ SvgAttr.strokeLinecap "round"
|
||||
, SvgAttr.strokeLinejoin "round"
|
||||
, SvgAttr.strokeWidth "2"
|
||||
, SvgAttr.d "M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z"
|
||||
]
|
||||
[]
|
||||
]
|
||||
]
|
||||
, Html.div
|
||||
[ class "p-4 flex-1"
|
||||
]
|
||||
[ Html.h3
|
||||
[ class "text-xl font-bold"
|
||||
]
|
||||
[ Html.text error ]
|
||||
, Html.p
|
||||
[ class " dark:text-gray-400"
|
||||
]
|
||||
[ Html.a
|
||||
[ href "../posts"
|
||||
, rel "referrer noopener"
|
||||
, class "underline"
|
||||
]
|
||||
[ Html.text "return to list of Blogs?" ]
|
||||
]
|
||||
]
|
||||
]
|
||||
|
||||
|
||||
articleNode : String -> Html Msg
|
||||
articleNode data =
|
||||
Html.node "rendered-md"
|
||||
@@ -155,7 +284,7 @@ type alias YamlMeta =
|
||||
, description : Maybe String
|
||||
, tags : List String
|
||||
, category : String
|
||||
, image : Maybe String
|
||||
, image : String
|
||||
, modified : Maybe String
|
||||
}
|
||||
|
||||
@@ -191,5 +320,5 @@ metaDecoder =
|
||||
(Yaml.maybe (Yaml.field "description" Yaml.string))
|
||||
(Yaml.field "tags" (Yaml.list Yaml.string))
|
||||
(Yaml.field "category" Yaml.string)
|
||||
(Yaml.maybe (Yaml.field "image" Yaml.string))
|
||||
(Yaml.field "image" Yaml.string)
|
||||
(Yaml.maybe (Yaml.field "modified" Yaml.string))
|
||||
|
||||
+19
-1
@@ -1,9 +1,27 @@
|
||||
module Utils.Utils exposing (..)
|
||||
|
||||
import Html exposing (Html)
|
||||
import Html.Attributes exposing (class)
|
||||
import Http exposing (Error(..))
|
||||
import Utils.Constants exposing (..)
|
||||
|
||||
|
||||
categoryNtags : String -> List String -> Html msg
|
||||
categoryNtags category tags =
|
||||
Html.span [ class "flex flex-wrap py-6 space-x-2 border-t border-dashed border-teal-500" ]
|
||||
(Html.b [ class "px-3 py-1 m-1 rounded-sm hover:underline dark:bg-pink-400 dark:text-gray-900" ]
|
||||
[ Html.text category
|
||||
]
|
||||
:: List.map
|
||||
(\tag ->
|
||||
Html.i [ class "px-3 py-1 m-1 rounded-sm hover:underline dark:bg-cyan-500 dark:text-gray-900" ]
|
||||
[ Html.text tag
|
||||
]
|
||||
)
|
||||
tags
|
||||
)
|
||||
|
||||
|
||||
contentUrl : { category : String, post : String } -> String
|
||||
contentUrl { category, post } =
|
||||
contentUrlPrefix ++ "posts/" ++ category ++ "/" ++ post ++ ".md"
|
||||
@@ -28,7 +46,7 @@ errorToString error =
|
||||
"Verify your information and try again"
|
||||
|
||||
BadStatus _ ->
|
||||
"Unknown error"
|
||||
"The content can't be found, please check your url"
|
||||
|
||||
BadBody errorMessage ->
|
||||
errorMessage
|
||||
|
||||
@@ -14,9 +14,10 @@ customElements.define(
|
||||
runMarked() {
|
||||
const renderer = new marked.Renderer();
|
||||
const data = this.getAttribute("markdowndata");
|
||||
var lead = 0;
|
||||
renderer.heading = (text, level) => {
|
||||
if (level === 1) {
|
||||
return `<header>
|
||||
return `<header class="text-center w-full">
|
||||
<h1>
|
||||
${text}</h1>
|
||||
</header>`;
|
||||
@@ -34,6 +35,14 @@ customElements.define(
|
||||
</h${level}>`;
|
||||
};
|
||||
|
||||
renderer.paragraph = (text) => {
|
||||
lead++;
|
||||
if (lead === 1) {
|
||||
return `<p class="lead">${text}</p>`;
|
||||
}
|
||||
return `<p>${text}</p>`;
|
||||
};
|
||||
|
||||
marked.setOptions({
|
||||
renderer: renderer,
|
||||
highlight: function (code, lang) {
|
||||
|
||||
Reference in New Issue
Block a user