Code Monkey home page Code Monkey logo

codex'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  avatar

codex's Issues

always keep table of contents visibile

On larger pages where you have to scroll down, currently you need to scroll back up to see what else is in the documentation.
It would be really helpful if the toc block remains visible, for example by means of position: fixed;

Couldn't get it installed

I tried today to install codex.
It failed while executing "php composer.phar install"
Ubuntu 14.04
Here's the terminal output:

root@testserver:/var/www/doku# php composer.phar install Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. Run update to update them. - Installing erusev/parsedown (1.1.1) Downloading: 100% - Installing react/promise (v2.1.0) Downloading: 100%

  • Installing guzzlehttp/streams (3.0.0)
    Downloading: 100%
  • Installing guzzlehttp/ringphp (1.0.3)
    Downloading: 100%
  • Installing guzzlehttp/guzzle (5.0.3)
    Downloading: 100%
  • Installing symfony/process (v2.5.6)
    Downloading: 100%
  • Installing symfony/options-resolver (v2.5.6)
    Downloading: 100%
  • Installing kzykhys/git (dev-master 8b3ee31)
    Downloading: 100%
  • Installing symfony/translation (v2.5.6)
    Downloading: 100%
  • Installing symfony/security-core (v2.5.6)
    Downloading: 100%
  • Installing symfony/routing (v2.5.6)
    Downloading: 100%
  • Installing symfony/http-foundation (v2.5.6)
    Downloading: 100%
  • Installing symfony/event-dispatcher (v2.5.6)
    Downloading: 100%
  • Installing symfony/debug (v2.5.6)
    Downloading: 100%
  • Installing psr/log (1.0.0)
    Downloading: 100%
  • Installing symfony/http-kernel (v2.5.6)
    Downloading: 100%
  • Installing symfony/finder (v2.5.6)
    Downloading: 100%
  • Installing symfony/dom-crawler (v2.5.6)
    Downloading: 100%
  • Installing symfony/css-selector (v2.5.6)
    Downloading: 100%
  • Installing symfony/console (v2.5.6)
    Downloading: 100%
  • Installing symfony/browser-kit (v2.5.6)
    Downloading: 100%
  • Installing swiftmailer/swiftmailer (v5.3.0)
    Downloading: 100%
  • Installing stack/builder (v1.0.2)
    Downloading: 100%
  • Installing patchwork/utf8 (v1.1.26)
    Downloading: 100%
  • Installing nesbot/carbon (1.13.0)
    Downloading: 100%
  • Installing jeremeamia/superclosure (1.0.1)
    Downloading: 100%

monolog/monolog suggests installing raven/raven (Allow sending log messages to a Sentry server) monolog/monolog suggests installing rollbar/rollbar (Allow sending log messages to Rollbar)
monolog/monolog suggests installing ruflin/elastica (Allow sending log messages to an Elastic Search server) monolog/monolog suggests installing videlalvaro/php-amqplib (Allow sending log messages to an AMQP server using php-amqplib) laravel/framework suggests installing doctrine/dbal (Allow renaming columns and dropping SQLite columns.) Generating autoload files > php artisan clear-compiled Mcrypt PHP extension required.
Script php artisan clear-compiled handling the post-install-cmd event returned with an error
[RuntimeException]
Error Output: install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--no-plugins] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [--ignore-platform-reqs] [packages1] ... [packagesN]

Change markdown meta notation and parsing

Consider changing the way the meta notation and parsing is done. Here's a quick example of what i mean:

From:

/*
Title:  This is a meta title
Author: This is me
*/

### Hellooooooo
Welcome

To:

<!---
title:  This is a meta title
author: This is me
and:
  this:
    - is
    - yaml
-->

### Hellooooooo
Welcome

By changing:
\Codexproject\Core\Markdown
to:

// removing of 'meta' is not required anymore. <!--- is valid markdown docblock -->.
// enables the markdown files to be viewed/rendered normally everywhere, inc github
// the 'meta' should be YAML and then be parsed into an php array
class Markdown
{
    public static function parse($text, $pathPrefix = '')
    {        
        $basePath = url('/' . ltrim($pathPrefix, '/'));
        $rendered = (new Parsedown)->text($text);
        //.....
    }

    /* remove: public static function removeMeta($content)*/

    public static function parseMeta($content)
    {
        $pattern = '/<!---\n([\w\W]*?)\n-->/';
        preg_match($pattern, $content, $matches);
        if ( count($matches) > 1 )
        {
            return \Symfony\Component\Yaml\Yaml::parse($matches[1]);
        }
        return [];
    }
}

Documentation

Documentation link is not valid, please, where i can see documentation?

Turn this into a package

It would be cool if we could integrate Codex into existing Laravel apps.

Can you turn this into a package instead of a standalone app?

make "kzykhys/git" optional

I don't think everyone is going to make use of this package,
it might be better to add this to suggest instead of require in composer.json

Handle spaces in manual and version directory names

Right now, if you were to utilize a space within the folder name of your manual or version, it would result in an ugly URI structure. Codex should intelligently replace any spaces it runs into in folder names, with a dash for the URI structure.

e.g.
Having a folder called "Awesome CMS" would result in a URI structure like: http://example.com/Awesome%20CMS/1.0 instead it should be handled like so: http://example.com/Awesome-CMS/1.0

Exception on first run

Hi there, just wanted to test this and ran into an exception when starting the first time.

$ php artisan serve
Laravel development server started on http://localhost:8000

screen shot 2016-08-19 at 17 42 04

Any ideas? Seems like it's having trouble reading a version or something. Never done anything in Laravel before.

Refactor version sorting logic

Sorting logic for the versions dropdown menu is off.

Should boil down to two rules:

  • Latest version (e.g. 1.1.0) show first, followed by previous versions, and then "versions" that start with alphabetical characters (e.g. master)
  • Versions with alphabetical characters (e.g. master) show first, followed by numerical versions in descending order (e.g. 1.1.0, 1.0.0, etc.)

Authentication

Hello, we were thinking about building something like this on our team. I like how codex is working, but one feature we need is authentication.
We have some documentation that is internal to us, and we'd like to basically have accounts that would let us manage access to certain parts of it.
Do you think authentication is something that might benefit this project, and are you interested on working on that? I work with Laravel as well, so if you approve this feature, I will try to implement it when I have time.

Empty Search

When I accidentally clicked the big Search button without entering a search term (passing an empty query), it routed to an error page.

Undefined variable: `siteName`, run on Homestead 2.0

It's work fine on my local environment, but missing siteName with Homestead 2.0.

Error in exception handler: Undefined variable: siteName 
(View: /home/vagrant/docs/app/views/layouts/master.blade.php) 
(View: /home/vagrant/docs/app/views/layouts/master.blade.php) in 
/home/vagrant/docs/app/storage/views/654c1793fbf148f53ac4245497028ca4:13

Can't figure out how this would be happened.
Any ideas?

Use git branches to determine versions

It would be useful if the documentation repository's branching model could match the project repository's and generate matching documentation.

I think it would be worthwhile to implement versioning based off of the documentation repository, as an alternative to folders.

Caching can not work

I just looked at the code of the repository and discovered code like this:

return $this->cached("$manual.$version.toc",
                Markdown::parse($this->files->get($tocFile), $manual.'/'.$version));

The second argument is passed to Laravel's Cache::remember(). Since it is already evaluated (and therefore called) in this piece of code, there is absolutely no gain in caching this value - in fact, there's a little bit of overhead from storing the value in the cache.

You need to pass a Closure for this to have any effect.

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.