This is just to announce my naive yet functional port of Google’s
mod_pagespeed to nginx.
I’m not sure I’ll have much time to improve on this, but this might
interest
you.
Right now it compiles with the latest stable version of mod_pagespeed
and
does a very simple parsing using the AttrValuesSaverFilter that I found
in
the unittests. (it just saves all the html tag attributes found while
parsing in a string).
The code and instructions to compile it can be found here :
Out of curiosity, have you defined a mechanism to configure nginx to use
any
of the predefined filters? It looks like you were aware of
RewriteOptions,
which is the API-based equivalent to pagespeed.conf, but you are not
using
it yet in
.
The next step in your nginx integration looks to be resource-handling
and
fetching. Specifically, you need to define a way to fetch external HTTP
resources referenced on a page, and a way to handle fetches for
rewritten
resources. We can help you if you have any questions feel free to reach
out.
Please also check this out:
We’ve been working along the same lines you have: starting with a
mod_pagespeed build, generate a linkable library that has the kernel of
functionality needed to integrate mod_pagespeed’s parser & algorithms
into a
new platform.
I think I started looking at creating a RewriteOptions object, but got side
tracked and this project has been idle for a little while.
I just updated it this weekend for the latest mod_pagespeed, and put it out
there.
Cool. As you get time to push this forward, please don’t hesitate to
ask
questions.
I like how the instaweb API is designed, and how you provide "backend
functionalities" through adapter objects (if I remember correctly).
With nginx extensive subrequests mechanism, fetching external resources
shouldn’t be too difficult.
Thanks! It was a goal up front to make ports like this possible.
This Makefile could definitely help. I was also wondering if there was a
python lib that could make sense of Google’s internal build files ?
I’m not 100% sure – we are not experts in the .gyp file system
ourselves
although there is doc here: gyp - Generate Your Projects - Monorail. What problem
are
you trying to solve?
I think I started looking at creating a RewriteOptions object, but got
side
tracked and this project has been idle for a little while.
I just updated it this weekend for the latest mod_pagespeed, and put it
out
there.
I like how the instaweb API is designed, and how you provide “backend
functionalities” through adapter objects (if I remember correctly).
With nginx extensive subrequests mechanism, fetching external resources
shouldn’t be too difficult.
This Makefile could definitely help. I was also wondering if there was a
python lib that could make sense of Google’s internal build files ?
Thank you!
Matthieu.
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.