Git Product home page Git Product logo

mels-loop's Introduction

The skilled fingers on the typewriter are a wonderful fountain of kinetic energy

โ€“ David Avidan


  • ๐Ÿ”ญ Iโ€™m currently working on Mel's Loop โ€“ A guide to The Story of Mel and an anthology of Hacker Folklore
  • โœ๏ธ This is my CodePen

โšก Fun fact: The universe could stop expanding 'remarkably soon', study suggests

mels-loop's People

Contributors

imdfl avatar jfkthame avatar tomerlichtash avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

noamra jfkthame

mels-loop's Issues

Use Cloudinary SDK in build process

[Spec In Progress]

Feature:

  • Decide on how to add images in PRs (add, integrate URLs in build and dispose)
  • Integrate Cloudinary SDK in build process

matter does not support backticks in MD

e.g. /public/content/annotations/librazette-chicago-automation-show
When this is loaded in runtime, matter throws an exception, complaining about the backtick.

image

Paragraph style

Apart from Story page, all paragraphs should have a prose-like design.
Modify line-height and font-size accordingly.

Handle onLocaleChange via Context or Props?

  • We instantiate two LocaleSeletor components.
  • Each component needs locale, locales, getLocaleSymbol adn onLocaleChange
  • Currently, the above props are provided via LocaleContext
  • Other than onLocaleChange, these are all "passive" props.
  • Currently LocaleContext is widely used for string translation purposes; LocaleSelector is the only component that's using its interactive feature.

Questions

  • Should context provide such a callback as onLocaleChange, or should it be passed on?
  • Should we instantiate the callback to LocaleSelector itself, thus = pass a router instance to the component?

Pros of excluding this callback from the context:

  • Consistent passive approach
  • No need for storing router in LocaleContext

Cons:

  • As we we have two instances of the component, it means passing this callback twice:
    • Layout => TopBar => LocaleSelector
    • Layout => MobileMenu => LocaleSelector

Scroll error for Popover Queries

src/components/layout/layout.tsx (65:7) @ eval

63 | setTimeout(() => {
64 | const el = window.document.getElementById(line${getLine});

65 | el.scrollIntoView(scrollProps);
| ^
66 | }, 200);
67 | }
68 | });

ThemeContext Planning

We need a Theme React context. The problem to solve is in on of my next PRs - when portalling the Popover, it needs to be set a Layout style with locale and theme states, just like Layout sets for the entire content on its level.

Consumers for this context: Layout and LinkSelector, which will initialize a Popover with the proper portalStyles, hooking it up with the layout by adding locale and theme types to it.

Suggested API is rather simple:

  • getTheme
  • setTheme

Scrollbar not flushed to the side

(If the result, as seen in the image, is intended, then I'd like to protest the design. I don't see the alignment with the closebox as worth the 'wrong' feel of the padded scrollbar)
I think that the padding can be limited to the space between the scrollbar and the content, so basically 0 12px 0 0 for Hebrew and 0 0 0 12px for English, or only the latter if we use dir=rtl or direction: rtl

image

Minor feature suggestions

  • Allow locale selection in the popup browser. Reading the English term may be useful while staying in the containing page's locale. We can easily include the available locales in the parsed page data.
  • Make the popover draggable. This will enforce a minimal titlebar which is a good solution for the closebox, currently overlapping the scrollbar, when present.

Menu contents

  • Move Resources page to articles
  • Change Articles to something a bit more generic
  • Move About to top level link in menu
  • Change About item list to Info or something alike.

Should apply in TopBar and MobileMenu.

broken rendering in feat-popover-browser

When run with build and start, the project is displayed correctly. It is also displayed correctly in the deployed env (see the PR).

However, when running in debug mode (yarn dev), the display of the popover is completely broken. See the attached image. The popover trigger and popover content are not styled at all.

image

Dark Theme Values

Dark theme infrastructure is ready, but values do not match any theme yet.
Need to assign this task to UX.

Glossary link decoration

After playing with it a bit, I recommend the following style

    user-select: none;
    content: "โ€ป";
    left: 1px;
    position: relative;
    font-size: 0.7em;
    vertical-align: super;

Initial popover load is slow

First fetch of popover is slow, and seems as if Popover is opened with blank content.

Can be resolved with a preloader string ("Fetching data").

If easy enough to implement, preloader should receive the trigger's content, so we can render something like "Fetching Fortran...", to make it seems a bit more pleasing to the user.

Can we kill ContentBrowser?

Currently used only for Story and About pages, and it holds a lot of code that concerns only Story.

I think we can move that code to Story and use mapped ContentComp implementation in Pages that need it.

Indirect link support

Our parser doesn't understand the indirect md links, of the form [link key], later followed by
[link key]: http://...

We can either update the post-processor, or avoid such constructs. What do you think?

Partial parse of markdown in cases of combined tags

To recreate try to use both em and strong inline, like so:

_*some text*_

Expected result: Bold and Italic text.
Actual result: Only italic.

Result in DOM: Nested em tags, instead of nested em and strong tags.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.