Giter VIP home page Giter VIP logo

librarian's People

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

librarian's Issues

Implement new RSS Builder

The currently RSS library used by Librarian is quite old. We need to update to a more modern option that doesn't bring too many dependencies in.

In addition to updating to a newer RSS Builder library, implement an RSS Service to provide rss feeds for both the dynamic and static versions (web command and build command respectively). Currently the code is duplicated in these two commands.

Fix liquid tags

It seems that some liquid tags are broken, youtube videos for instance are not filling the expected area in posts, it's cropping in a weird way. Need to review and update liquid tags.

Docs Translation

Evaluate best way to offer the documentation and multiple languages, starting with Brazilian Portuguese.

Implement search

We still need to implement some kind of search. This must be supported by the static build, so probably a javascript library.

Create command to output a static build

This has always been in the plans but got forgotten.

Let's implement a command to output a static build of your content, so that you can host it within static sites services like GH Pages and Netlify.

Seems pretty feasible with Twig, so I will give it a try.

Dependency Discussion

I just learned about Librarian this morning and since I have a soft spot for SSG's and PHP, I naturally wanted to check it out. Upon install though, I noticed a few red flags after running npm install.

npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '[email protected]',
npm WARN EBADENGINE   required: { node: '>=0.8 <=9' },
npm WARN EBADENGINE   current: { node: 'v18.12.1', npm: '9.6.7' }
npm WARN EBADENGINE }
npm WARN deprecated [email protected]: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated [email protected]: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.

added 322 packages, and audited 323 packages in 38s

70 packages are looking for funding
  run `npm fund` for details

12 vulnerabilities (4 moderate, 4 high, 4 critical)

I do not look at NPM Warnings like they are a meaning to the end of the world, but I will at least investigate them. If for no other reason then to learn. And that's primarily my goal with the dev projects I have. Any who!

Upon looking into the above warning and resulting audit report, this all stems from a dependency found in package.json on line 14

"tailwind": "^4.0.0"

Looking through the Blame history, it seems as though this was added back in 2021 when the initial config for TailwindCSS was setup. It seems that the only JS that is used in the project is PrismJS, so to make double sure I did a search in VSCode for uses of Tailwind related methods, such as tailwind.createApp( & api.use. I will admit that it's not an exhaustive search or anything, but it was enough for me to think that Librarian is not using Websockets or any fancy streaming of I/O. At least on the surface.

Running a simple npm remove tailwind results in the removal of 191 packages and everything, as far as I can tell, seems to work normally. And with all due respect to your time and this project, I wanted to at least open up a discussion before submitting any code changes. Thank you for all you do and the time that you have devoted to it!

Update documentation to support new version

Update the docs to include details about static builds and promote that as the new default.

This will include moving the current docs site to Netlify using the static implementation. Will serve as case of study to facilitate Netlify hosting.

Fatal error: cannot redeclare load_config()

Tried a new install + composer update to get the latest releases of commands, this template seems broken, now getting a fatal error with any librarian command:

PHP Fatal error:  Cannot redeclare load_config() (previously declared in /home/erika/Projects/test-librarian/vendor/minicli/minicli/src/helpers.php:10) in /home/erika/Projects/test-librarian/app/helpers.php on line 19

Needs to remove the local implementation of the load_config in favor of using the native autoload config from Minicli.

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.