diff --git a/.github/workflows/static.yml b/.github/workflows/static.yml index dee4457..762f1be 100644 --- a/.github/workflows/static.yml +++ b/.github/workflows/static.yml @@ -15,7 +15,6 @@ jobs: submodules: "true" - uses: rehanhaider/pelican-to-github-pages@v1.0.3 env: - PYCONES_BUILD_TARGET: ${{secrets.PYCONES_BUILD_TARGET}} GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} GH_PAGES_CNAME: ${{secrets.GH_PAGES_CNAME}} SITEURL: ${{secrets.SITEURL}} diff --git a/README.md b/README.md index a51156f..1e3b87f 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ pip install -r requirements.txt Genera el contenido, y comienza el servidor en localhost ```bash -PYCONES_BUILD_TARGET=WEB pelican -l content -s pelicanconf.py -r --bind 0.0.0.0 +pelican -l content -s pelicanconf.py -r --bind 0.0.0.0 ``` visita `http://0.0.0.0:8000` para visualizar el sitio web. diff --git a/assets/css/style.css b/assets/css/style.css deleted file mode 100644 index 0d89062..0000000 --- a/assets/css/style.css +++ /dev/null @@ -1,240 +0,0 @@ -html { - background-position-y: 5%; - background: url(../graphics/ilustracion_landing.png); - background-repeat: no-repeat; - background-size: cover; - background-color: #b062dc; - background-position: center; - font-family: 'Inter', sans-serif; - overflow-x: hidden; -} - -@media screen and (max-width: 1024px) { - html { - background-position-y: 5%; - background: url(../graphics/ilustracion_landing-800.png); - background-repeat: no-repeat; - background-size: cover; - background-color: #b062dc; - background-position: center; - font-family: 'Inter', sans-serif; - overflow-x: hidden; - } -} - -body { - text-align: center; - color: white; -} - - -.container { - display: flex; - align-items: center; - justify-content: center; - padding-top: 5%; -} - -img { - max-width: 100%; -} - -.image { - flex-basis: 40% -} - -.social { - padding: 10px; - color: #5202bd; -} - -.purple { - color: #5202bd; -} - -.full { - width: 100%; - display: flex; - flex-direction: column; -} - -.box { - display: flex; - flex-direction: column; - background-color: rgba(255, 255, 255, 0.7); - margin: 0 4% 0 4%; - font-size: 20pt; -} - -@media screen and (max-width: 1024px) { - .box { - font-size: 14pt; - } -} - -.arrow { - cursor: pointer; - display: block; - padding-top: 10%; -} - -.spacer-middle { - min-height: 100vw; -} - -.spacer-bottom { - min-height: 20vw; -} - -h2 { - font-weight: 200; -} - -/* Rotating digits */ - - -@keyframes rotating-zero { - from { transform: rotateX(0deg); } - to { transform: rotateX(360deg); } -} - -.rotate-zero { - animation-duration: 5s; - animation-name: rotating-zero; -} - -@keyframes rotating-one { - from { transform: rotateX(0deg); } - to { transform: rotateX(324deg); } -} - -.rotate-one { - animation-duration: 4.5s; - animation-name: rotating-one; -} - -@keyframes rotating-two { - from { transform: rotateX(0deg); } - to { transform: rotateX(288deg); } -} - -.rotate-two { - animation-duration: 4s; - animation-name: rotating-two; -} - -@keyframes rotating-three { - from { transform: rotateX(0deg); } - to { transform: rotateX(252deg); } -} - -.rotate-three { - animation-duration: 3.5s; - animation-name: rotating-three; -} - -@keyframes rotating-four { - from { transform: rotateX(0deg); } - to { transform: rotateX(216deg); } -} - -.rotate-four { - animation-duration: 3s; - animation-name: rotating-four; -} - -@keyframes rotating-five { - from { transform: rotateX(0deg); } - to { transform: rotateX(180deg); } -} - -.rotate-five { - animation-duration: 2.5s; - animation-name: rotating-five; -} - -@keyframes rotating-six { - from { transform: rotateX(0deg); } - to { transform: rotateX(144deg); } -} - -.rotate-six { - animation-duration: 2s; - animation-name: rotating-six; -} - -@keyframes rotating-seven { - from { transform: rotateX(0deg); } - to { transform: rotateX(108deg); } -} - -.rotate-seven { - animation-duration: 1.5s; - animation-name: rotating-seven; -} - -@keyframes rotating-eight { - from { transform: rotateX(0deg); } - to { transform: rotateX(72deg); } -} - -.rotate-eight { - animation-duration: 1s; - animation-name: rotating-eight; -} - -@keyframes rotating-nine { - from { transform: rotateX(0deg); } - to { transform: rotateX(36deg); } -} - -.rotate-nine { - animation-duration: 0.5s; - animation-name: rotating-nine; -} - -.cylinder { - position: relative; - z-index: -1; - display: block; - margin-top: 0.5em; - animation-iteration-count: 1; - animation-delay: 750ms; - animation-timing-function: ease-out; - transform-style: preserve-3d; - animation-fill-mode: forwards; -} - -.cylinder > b { - position: absolute; - top: -0.5em; - left: 0; - display: block; - width: 1em; - height: 1em; - text-align: center; - line-height: 1.0; - backface-visibility: hidden; -} - -.digit { - display: inline-block; - overflow: hidden; - font-size: 110%; - width: 0.9em; - height: 1em; - border: 0; - vertical-align: middle; - font-weight: bolder; -} - -.cylinder > b.zero { transform: rotateX( 0deg) translateZ(1.538em); } -.cylinder > b.one { transform: rotateX( 36deg) translateZ(1.538em); } -.cylinder > b.two { transform: rotateX( 72deg) translateZ(1.538em); } -.cylinder > b.three { transform: rotateX(108deg) translateZ(1.538em); } -.cylinder > b.four { transform: rotateX(144deg) translateZ(1.538em); } -.cylinder > b.five { transform: rotateX(180deg) translateZ(1.538em); } -.cylinder > b.six { transform: rotateX(216deg) translateZ(1.538em); } -.cylinder > b.seven { transform: rotateX(252deg) translateZ(1.538em); } -.cylinder > b.eight { transform: rotateX(288deg) translateZ(1.538em); } -.cylinder > b.nine { transform: rotateX(324deg) translateZ(1.538em); } diff --git a/assets/graphics/ilustracion_landing-800.png b/assets/graphics/ilustracion_landing-800.png deleted file mode 100644 index 0303978..0000000 Binary files a/assets/graphics/ilustracion_landing-800.png and /dev/null differ diff --git a/assets/graphics/ilustracion_landing.png b/assets/graphics/ilustracion_landing.png deleted file mode 100644 index 1c7abea..0000000 Binary files a/assets/graphics/ilustracion_landing.png and /dev/null differ diff --git a/assets/lib/vue3.js b/assets/lib/vue3.js deleted file mode 100644 index 6c9f57a..0000000 --- a/assets/lib/vue3.js +++ /dev/null @@ -1,16159 +0,0 @@ -var Vue = (function (exports) { - 'use strict'; - - /** - * Make a map and return a function for checking if a key - * is in that map. - * IMPORTANT: all calls of this function must be prefixed with - * \/\*#\_\_PURE\_\_\*\/ - * So that rollup can tree-shake them if necessary. - */ - function makeMap(str, expectsLowerCase) { - const map = Object.create(null); - const list = str.split(','); - for (let i = 0; i < list.length; i++) { - map[list[i]] = true; - } - return expectsLowerCase ? val => !!map[val.toLowerCase()] : val => !!map[val]; - } - - /** - * dev only flag -> name mapping - */ - const PatchFlagNames = { - [1 /* PatchFlags.TEXT */]: `TEXT`, - [2 /* PatchFlags.CLASS */]: `CLASS`, - [4 /* PatchFlags.STYLE */]: `STYLE`, - [8 /* PatchFlags.PROPS */]: `PROPS`, - [16 /* PatchFlags.FULL_PROPS */]: `FULL_PROPS`, - [32 /* PatchFlags.HYDRATE_EVENTS */]: `HYDRATE_EVENTS`, - [64 /* PatchFlags.STABLE_FRAGMENT */]: `STABLE_FRAGMENT`, - [128 /* PatchFlags.KEYED_FRAGMENT */]: `KEYED_FRAGMENT`, - [256 /* PatchFlags.UNKEYED_FRAGMENT */]: `UNKEYED_FRAGMENT`, - [512 /* PatchFlags.NEED_PATCH */]: `NEED_PATCH`, - [1024 /* PatchFlags.DYNAMIC_SLOTS */]: `DYNAMIC_SLOTS`, - [2048 /* PatchFlags.DEV_ROOT_FRAGMENT */]: `DEV_ROOT_FRAGMENT`, - [-1 /* PatchFlags.HOISTED */]: `HOISTED`, - [-2 /* PatchFlags.BAIL */]: `BAIL` - }; - - /** - * Dev only - */ - const slotFlagsText = { - [1 /* SlotFlags.STABLE */]: 'STABLE', - [2 /* SlotFlags.DYNAMIC */]: 'DYNAMIC', - [3 /* SlotFlags.FORWARDED */]: 'FORWARDED' - }; - - const GLOBALS_WHITE_LISTED = 'Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,' + - 'decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,' + - 'Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt'; - const isGloballyWhitelisted = /*#__PURE__*/ makeMap(GLOBALS_WHITE_LISTED); - - const range = 2; - function generateCodeFrame(source, start = 0, end = source.length) { - // Split the content into individual lines but capture the newline sequence - // that separated each line. This is important because the actual sequence is - // needed to properly take into account the full line length for offset - // comparison - let lines = source.split(/(\r?\n)/); - // Separate the lines and newline sequences into separate arrays for easier referencing - const newlineSequences = lines.filter((_, idx) => idx % 2 === 1); - lines = lines.filter((_, idx) => idx % 2 === 0); - let count = 0; - const res = []; - for (let i = 0; i < lines.length; i++) { - count += - lines[i].length + - ((newlineSequences[i] && newlineSequences[i].length) || 0); - if (count >= start) { - for (let j = i - range; j <= i + range || end > count; j++) { - if (j < 0 || j >= lines.length) - continue; - const line = j + 1; - res.push(`${line}${' '.repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`); - const lineLength = lines[j].length; - const newLineSeqLength = (newlineSequences[j] && newlineSequences[j].length) || 0; - if (j === i) { - // push underline - const pad = start - (count - (lineLength + newLineSeqLength)); - const length = Math.max(1, end > count ? lineLength - pad : end - start); - res.push(` | ` + ' '.repeat(pad) + '^'.repeat(length)); - } - else if (j > i) { - if (end > count) { - const length = Math.max(Math.min(end - count, lineLength), 1); - res.push(` | ` + '^'.repeat(length)); - } - count += lineLength + newLineSeqLength; - } - } - break; - } - } - return res.join('\n'); - } - - function normalizeStyle(value) { - if (isArray(value)) { - const res = {}; - for (let i = 0; i < value.length; i++) { - const item = value[i]; - const normalized = isString(item) - ? parseStringStyle(item) - : normalizeStyle(item); - if (normalized) { - for (const key in normalized) { - res[key] = normalized[key]; - } - } - } - return res; - } - else if (isString(value)) { - return value; - } - else if (isObject(value)) { - return value; - } - } - const listDelimiterRE = /;(?![^(]*\))/g; - const propertyDelimiterRE = /:([^]+)/; - const styleCommentRE = /\/\*.*?\*\//gs; - function parseStringStyle(cssText) { - const ret = {}; - cssText - .replace(styleCommentRE, '') - .split(listDelimiterRE) - .forEach(item => { - if (item) { - const tmp = item.split(propertyDelimiterRE); - tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim()); - } - }); - return ret; - } - function normalizeClass(value) { - let res = ''; - if (isString(value)) { - res = value; - } - else if (isArray(value)) { - for (let i = 0; i < value.length; i++) { - const normalized = normalizeClass(value[i]); - if (normalized) { - res += normalized + ' '; - } - } - } - else if (isObject(value)) { - for (const name in value) { - if (value[name]) { - res += name + ' '; - } - } - } - return res.trim(); - } - function normalizeProps(props) { - if (!props) - return null; - let { class: klass, style } = props; - if (klass && !isString(klass)) { - props.class = normalizeClass(klass); - } - if (style) { - props.style = normalizeStyle(style); - } - return props; - } - - // These tag configs are shared between compiler-dom and runtime-dom, so they - // https://developer.mozilla.org/en-US/docs/Web/HTML/Element - const HTML_TAGS = 'html,body,base,head,link,meta,style,title,address,article,aside,footer,' + - 'header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,' + - 'figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,' + - 'data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,' + - 'time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,' + - 'canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,' + - 'th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,' + - 'option,output,progress,select,textarea,details,dialog,menu,' + - 'summary,template,blockquote,iframe,tfoot'; - // https://developer.mozilla.org/en-US/docs/Web/SVG/Element - const SVG_TAGS = 'svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,' + - 'defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,' + - 'feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,' + - 'feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,' + - 'feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,' + - 'fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,' + - 'foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,' + - 'mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,' + - 'polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,' + - 'text,textPath,title,tspan,unknown,use,view'; - const VOID_TAGS = 'area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr'; - /** - * Compiler only. - * Do NOT use in runtime code paths unless behind `true` flag. - */ - const isHTMLTag = /*#__PURE__*/ makeMap(HTML_TAGS); - /** - * Compiler only. - * Do NOT use in runtime code paths unless behind `true` flag. - */ - const isSVGTag = /*#__PURE__*/ makeMap(SVG_TAGS); - /** - * Compiler only. - * Do NOT use in runtime code paths unless behind `true` flag. - */ - const isVoidTag = /*#__PURE__*/ makeMap(VOID_TAGS); - - /** - * On the client we only need to offer special cases for boolean attributes that - * have different names from their corresponding dom properties: - * - itemscope -> N/A - * - allowfullscreen -> allowFullscreen - * - formnovalidate -> formNoValidate - * - ismap -> isMap - * - nomodule -> noModule - * - novalidate -> noValidate - * - readonly -> readOnly - */ - const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`; - const isSpecialBooleanAttr = /*#__PURE__*/ makeMap(specialBooleanAttrs); - /** - * Boolean attributes should be included if the value is truthy or ''. - * e.g. `