Многие блоги и системы управления контентом имеют возможность публиковать материалы в определённое время, то есть задавать точное время "появления" чего-либо на сайте. Pier CMS тоже предоставляет такую возможность.
- Написать пост
- Поменять дату/время публикации

- Сохранить
- PROFIT!
После настройки русских шрифтов в окружении, когда вы с радостью можете писать в workspace
'Здравствуй мир!' asString.
остаются некоторые недоработки.
Например, выполнив такой код
(HTTPSocket httpGet: 'www.yandex.ru') asString copyFrom: 96 to: 107.
я имел счастье лицезреть такие каракули ’Ð¯Ð½Ð´ÐµÐºÑ’ вместо весёлой надписи ’Яндекс’.
Починить данное безобразие очень просто (когда знаешь как, естественно). Посылаем сообщение на конвертирование
((HTTPSocket httpGet: 'www.yandex.ru') asString copyFrom: 96 to: 107)
convertFromWithConverter: UTF8TextConverter new.
Волшебные ctrl+p поселяют слово ’Яндекс’ в нашем образе
Неожиданно обнаружилась интересная деталь Pier CMS. Подсветка smalltalk кода на лету. Вот такая строчка
== HTTPSocket httpGet: ’www.google.ru’
показывается как
HTTPSocket httpGet: 'www.google.ru'
Двойное равенство необходимо начинать с новой строки.
Также можно пользоваться структурой +value:source+. Например, +value:source|class=Object+ показывает так
ProtoObject subclass: #Object
instanceVariableNames: ''
classVariableNames: 'DependentsFields'
poolDictionaries: ''
category: 'Kernel-Objects'
Метод на стороне класса +value:source|class=HTTPSocket|classmethod=httpGet:+
httpGet: t1
^ self httpGet: t1 accept: '*/*'
Обычный метод +value:source|class=HTTPSocket|method=contentType+
contentType
| type i |
type := self getHeader: 'content-type' default: nil.
type ifNil: [ ^nil ].
type := type withBlanksTrimmed.
i := type indexOf: $;.
i = 0 ifTrue: [ ^type ].
^(type copyFrom: 1 to: i-1) withBlanksTrimmed
У меня на работе инет идёт через прокси, а в Pharo хочется скачать свежий пакет с репозиториев. Можно указать прокси через HTTPSocket, послав следующее сообщение:
HTTPSocket
useProxyServerNamed: 'ip-address'
port: 'port'
proxyUser: 'user'
password: 'password'.
Теперь можно творить дальше