Hi Martin,
I updated it and changed it as you suggested. But the problem remains.
bootstrap.css is fetched via
/bs3test/wicket/resource/com.profitbricks.wicket.bootstrap.resources.example.bundle.Bootstrap3Reference/bootstrap-ver-1386173958000.css
But the fonts are fetched via
/bs3test/wicket/resource/fonts/glyphicons-halflings-regular.woff
Oliver
Am 04.12.13 15:41, schrieb Martin Grigorov:
Hi Oliver,
The problem is at
https://bitbucket.org/obfischer/wicket-bootstrap-resources/src/6e1642e4990e92a228a91bb5b8147b49fced00c0/example/src/main/java/com/profitbricks/wicket/bootstrap/resources/example/ExampleApplication.java?at=master#cl-44
Earlier I asked:
Do you use Wicket bundle (several CSS files combined into one) by chance ?
It would break if the bundle doesn't use Bootstrap3Reference.class (or
another class in the same package) as a scope.
Here you set ExampleApplication.class as scope for the bundle. The effect
from this is that Wicket will create url like:
/wicket/resource/com.profitbricks.wicket.bootstrap.resources.example.ExampleApplication/css/bootstrap(-HASH).css
and since the combined url contains the "url(../font/...) code the browser
will make a request to:
/wicket/resource/com.profitbricks.wicket.bootstrap.resources.example.ExampleApplication/font/glyphfont-....css
A simple solution is to use Bootstrap3Reference.class as a scope:
getResourceBundles().addCssBundle(*Bootstrap3Reference*.class,
"bootstrap.css",
new Bootstrap3Reference());
No need to override getMinifiedName() (
https://bitbucket.org/obfischer/wicket-bootstrap-resources/src/6e1642e4990e92a228a91bb5b8147b49fced00c0/example/src/main/java/com/profitbricks/wicket/bootstrap/resources/example/bundle/Bootstrap3Reference.java?at=master#cl-26
)
Wicket does the same for you.
On Wed, Dec 4, 2013 at 3:28 PM, Oliver B. Fischer <[email protected]>wrote:
Hi Martin,
I think the problem is how I specify the bootstrap-theme.css theme as a
dependency of bootstrap.css.
I put my example online at https://bitbucket.org/
obfischer/wicket-bootstrap-resources/src/6e1642e4990e92a228a91bb5b8147b
49fced00c0/example/src/main/java/com/profitbricks/wicket/
bootstrap/resources/example/bundle/Bootstrap3Reference.java?at=master
May you can have a look at it?
Bye,
Oliver
Am 04.12.13 14:51, schrieb Martin Grigorov:
Hi Oliver,
There is no such central class that maps all resources.
You can use any class as a scope for resources. Just make sure the
resources are in the same folder as the scope class.
Example:
- if the scope class is com.example.package.MyClass
- if the resource path is: css/some.css
- then Wicket will try to load some.css from
/wicket/resource/com.example.package.MyClass/css/some.css
- if some.css contains: url (../font/some.woff)
- then the browser will calculate its absolute url to:
/wicket/resource/com.example.package.MyClass/font/some.woff
- so you have to make sure that font/ folder resides next to css/ in the
classpath
This is how it works.
You can still use the web folder, i.e. create css/ and font/ folders next
to WEB-INF. This works as with any other Servlet based application.
In your .html you can use <link href="css/some.css"/> to load it in a
page.
The benefit of using Wicket resource references is that:
- you can load different resources depending on the user agent's locale,
or
session style/variation
- you can use dependency management - one resource may depend on several
other. You do "response.render(headerItem)" and wicket makes sure that all
its dependencies are rendered too
- resource bundles - i.e. to combine several CSS files into one to save
network requests
...
For more consult with
http://wicket.apache.org/guide/guide/single.html#chapter14_4
I'll need more information/code to be able to help you more.
On Wed, Dec 4, 2013 at 2:34 PM, Oliver B. Fischer <[email protected]
wrote:
Hi Martin,
is there any ready resource class that simply maps all resource requests
to a package including relative paths?
Such a simple task takes already too much time. Putting all file in the
WEB-INF folder would take me 10 minutes...
BTW, Wicket is great and powerfull and you can build some simple pages
quite fast. But if you need something more complicated you are confronted
with a lot of classes and you must understand all the details. And this
does not pay off unless you will build many different applications...
Am 04.12.13 13:45, schrieb Oliver B. Fischer:
Hi Martin,
I think I will try to write a custom package resource...
BYe,
Oliver
Am 04.12.13 13:23, schrieb Martin Grigorov:
On Wed, Dec 4, 2013 at 12:11 PM, Oliver B. Fischer
<[email protected]>wrote:
Hi,
it is there. The CSS as bundle is referenced via
http://localhost:8080/bs3test/wicket/resource/com.
profitbricks.wicket.bootstrap.resources.example.bundle.
Bootstrap3Reference/dist/css/bootstrap-theme-ver-1386155341000.css
But the fonts via
http://localhost:8080/bs3test/wicket/resource/fonts/
glyphicons-halflings-regular.woff
There is something wrong here.
A relative url like
../fonts/glyphicons-halflings-regular.eot?#iefix
should be calculated to
http://localhost:8080/bs3test/wicket/resource/com.
profitbricks.wicket.bootstrap.resources.example.bundle.
Bootstrap3Reference/dist
/fonts/glyphicons-halflings-regular.eot?#iefix
Do you use Wicket bundle (several CSS files combined into one) by
chance ?
It would break if the bundle doesn't use Bootstrap3Reference.class (or
another class in the same package) as a scope.
I know that the problem that the fonts referenced directly from the
CSS
files. But how can I handle that?
Viele Grüße
Oliver
Am 04.12.13 12:03, schrieb Martin Grigorov:
Hi,
Just make sure the font/ folder is next to the css/ folder in your
file
structure.
On Wed, Dec 4, 2013 at 11:59 AM, Oliver B. Fischer
<[email protected]
wrote:
Hi,
I would like to include all Bootstrap 3 resources via resources
references. I managed to in include all CSS files by extending
CssResourceReference and specifying a list of dependencies
(getDependencies()).
But how can I include the fonts provided by Bootstrap? The fonts are
referenced directly in the CSS files via
src: url('../fonts/glyphicons-halflings-regular.eot?#iefix')
format('embedded-opentype'),
How can I reference these fonts?
Bye,
Oliver
------------------------------------------------------------
---------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
------------------------------------------------------------
---------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]