-
upload the functional version
-
upload the FBP version
-
fix sortby
-
improve sortby in order to assign the smallest PlanckId to the most used Originals
-
change the value objects and iterator to more functional
-
have breakpoints for testing
-
write README.md
-
format the Flo a little better
-
put networks json into the corresponding files
-
put the json into NoFlo for graphs
-
full Documentation
-
separate into files
-
format the output: 1) Input 2) Output 3) Keys used (Original + new/minified/PlanckId
-
output the formatted output only once, at the end
-
fix debug connection
-
change some of the terms using
Identities
intoPlancks
&Originals
-
remove unnessecary comments
-
should put Realm as its own lib
-
should put utilities in its own support library and wrap functions in
if !func exists
-
autoload the Components
-
put on packagist
-
automatically scale the creation of the PlanckCollectionBuilder
-
enable the full range of PlanckBuilder in the meantime
-
svg badges for github project
-
upgrade the Planck to use more UPPERCASE letters
-
add Inflector on the FloComponent to make an out and in port automatically on connect and disconnect (example:
function onOutExamplePortName()
andfunction onInExamplePortName
andfunction onExamplePortDisconnect()
-
move ReadRepeater, ReadRepeaterFinal, StyleRegexRepeater to /Core/
-
create Extract Component
-
remove need for ReadRepeater and use Extract,
-
add a .dev/non-minified version of the contents and link to it in the comments
-
change FloReplace using
identities
in port tomap
-
refactor the FloComponent and split inflector responsibilities to another class, possibly as Middleware for the Network - it would be easier if phpflo did not depend on eventement which uses call_user_func_array with the arguments, otherwise additional arguments could be passed in to use for inflecting.
-
addPort related functions should also be moved to another class which can be injected via DI
-
RegexInOut::get remove the array to string and leave that up to a dedicated Component (ArrayToString)
-
[PlanckId\Utilities\Callback] add call_user_func_array
-
::isMarkup, ::isScript, ::isStyle, ::hasStyle, ::hasMarkup, ::hasScript, for identifying the content
-
a method to define the type (script, style, markup) when it is passed in
-
DIC in Example
-
split the [Regex/] into sub modules, especially for JavaScript when matching non-vanilla/frameworks+libraries
-
fileType for incoming content
-
refactor & rename ContentAndMap
-
extract [$languages] from $content and replace|extract|extractAndReplace [$z] (thanks Bad_Advice_Cat for these next 4)
-
flush out the index.php page, remove $_REQUEST use
-
change OutputFinal to emitt an event so the Client can register their own listener to deal with the output
-
put the OutputFinal output as a value object, possibly attaching the correct Component for outputting in different formats (json, html) and on different systems (cli, browser)
-
implement debugging on/off
- ~write it BDD
- figure out how to test best
- output result to file, WriteFile
- clean up the piping, do reusable instead of many outs & ins
- write initial tests
- separate tests into different .features
- make the tests all pass
- put the tests into bdd .feature
- integrate travis
- if travis does not run bdd easily, run with PHPUnit
- in the tests, make sure it works WITHOUT inline scripts or styles
- test and revise for 500+ ids, remove the unique part for testing?
- extend PHPFlo tests for my extensions
- write tests for every Component.
- fully implement & test Component
error
s - fix the sub
test
directory the test makes Scenario: Extract and Minify Markup and Style Selectors from Contents using Filter - test with Styles, but no Scripts. Test with Scripts, but no Styles. Test with Styles & Scripts, but no other Markup.
- test to show ensure that longest is first for the sorting originals
- gzip comparison
- create [PlanckId\Flo\ExtendedFloNetwork]
- DI in [PlanckId\Flo\ExtendedFloNetwork]
- create [Planck\Flo\ExtendedFloPort] & [Planck\Flo\ExtendedFloArrayPort]to use ::isAttached
- test ^
- ask about whether it should use ::isAttached, or if it should create multiple Components
- change Run.php to use PHPUnit tests which run Behat & eliminate that duplication
- change TestingContentOutput to use ArrayToString
- add the additional PHPunit tests into cucumber syntax for behat
(thanks simensen)
- move behat to require-dev
- put bin/ test files in .gitignore
- JavaScript v0.1
- JavaScript extracting
- JavaScript matching block
- JavaScript replacing block
- JavaScript matching External (src=) Component
- JavaScript testing ^
- JavaScript Reading External File
- JavaScript testing ^
- FeatureScriptExtract
- JavaScript testing replacing isolated
- JavaScript testing replacing grouped
- Markup v0.1
- Markup extracting
- Markup matching classes
- Markup matching identities
- Markup replacing & matching contextually
- Markup replacing & matching more contextually (php)
- Markup replacing classes
- Markup replacing identities
- Markup replacing other attributes
- Markup testing extraction isolated
- Markup testing extraction grouped
- Markup testing replacing isolated
- Markup testing replacing grouped
- Style v0.1
- Style extracting
- Style matching block
- Style replacing block
- Style matching External (href=) Component
- testing ^
- Style Reading External File
- Style testing ^
- write core js matching (determine if it's vanilla js) & plugins|strategies for other syntax
- ^ with css
- be able to paste in JS, CSS, OR Script and it identify and minify accordingly
- add back in sorting by which Selector is used most, not just the length
- selector regex match - not followed by anything except specific characters, for example, it was matching .5 in background-color(0.5)
- #[keyword-todo] doesn't account for keywords &
content
- add client defined keywords & client defined blacklisted Originals.
- add files, blacklist and whitelist other files
- be able to pass in website urls
- be able to download a zip from the processed website url
- use FlySystem for files
- automatically output the json network graphs to their respective files
- set it to only extract from Markup, then replace only those in Script & Style
- have FeatureContext use & test [Planck\Planck]
- add tests extracting only identities or classes to the app/
- add support for Twig & other templating systems (thanks @xsanisty)
- could redo using complete OOP, also could use EDD
- content could have a ReadContent & WriteContent
- could fully implement ReadContent & WriteContent
- find why ArrayPort on the out port did not work (specifically, in FloReplace)
- FlattenClasses component, the nodes that have to be given string aliases each time would be much easier in NoFloJs
- all Regex classes extend RegexInOut (or its subclasse) so they simply define the regex
- make more dynamic for PLUGIN ability such as attributes
- variable length arguments in FloComponent
- implement StaticContent in an alternate way
- use phpDaemon
- extend or revise how to do debugging ports instead of
isConnected
which is seemingly on the wrong side of the pipe. - each of the Regex could be a flo component that calls a RegexComponent and passes in the regex