The Trunk: Help-Squeak-Project-ct.107.mcz

[email protected] Mon, 27 Jul 2026 07:33:28 0000
Newsgroups gmane.comp.lang.smalltalk.squeak.general
Message-ID <[email protected]>
Marcel Taeumel uploaded a new version of Help-Squeak-Project to project The Trunk:
http://source.squeak.org/trunk/Help-Squeak-Project-ct.107.mcz

==================== Summary ====================

Name: Help-Squeak-Project-ct.107
Author: ct
Time: 12 July 2026, 3:32:38.1421 am
UUID: b2a0b32a-8050-4fa4-8864-1127861bf94f
Ancestors: Help-Squeak-Project-ct.106

For editing release notes, adds support for automatically storing changes in a jekyll directory. That combined with jekyll serve --livereload gives you a nice live programming experience for the websiteeeeeeeeee. :-)

=============== Diff against Help-Squeak-Project-ct.106 ===============

Item was changed:
  SqueakProjectHelp subclass: #SqueakReleaseNotes
  	instanceVariableNames: ''
+ 	classVariableNames: 'AutoStoreJekyllDirectoryName'
- 	classVariableNames: ''
  	poolDictionaries: ''
  	category: 'Help-Squeak-Project'!
  
  !SqueakReleaseNotes commentStamp: 'ct 3/22/2026 23:11' prior: 0!
  Here you can find a description of the changes from the latest releases. For download links and historical release notes, please visit: https://wiki.squeak.org/squeak/275!

Item was added:
+ ----- Method: SqueakReleaseNotes class>>autoStoreJekyllDirectoryName (in category 'storing') -----
+ autoStoreJekyllDirectoryName
+ 
+ 	^ AutoStoreJekyllDirectoryName!

Item was added:
+ ----- Method: SqueakReleaseNotes class>>autoStoreJekyllDirectoryName: (in category 'storing') -----
+ autoStoreJekyllDirectoryName: aStringOrNil
+ 	"
+ 	self autoStoreJekyllDirectoryName: 'release_notes'
+ 	self autoStoreJekyllDirectoryName: nil
+ 	"
+ 
+ 	AutoStoreJekyllDirectoryName := aStringOrNil.
+ 	
+ 	SystemChangeNotifier uniqueInstance noMoreNotificationsFor: self.
+ 	AutoStoreJekyllDirectoryName ifNil: [^ self].
+ 	
+ 	SystemChangeNotifier uniqueInstance
+ 		notify: self
+ 		ofSystemChangesOfItem: #method 
+ 		using: #methodChanged:.!

Item was added:
+ ----- Method: SqueakReleaseNotes class>>cleanUp: (in category 'initialize-release') -----
+ cleanUp: aggressive
+ 
+ 	aggressive ifTrue:
+ 		[self autoStoreJekyllDirectoryName: nil].!

Item was added:
+ ----- Method: SqueakReleaseNotes class>>methodChanged: (in category 'storing') -----
+ methodChanged: anEvent
+ 
+ 	| key |
+ 	anEvent isRecategorized ifTrue: [^ self].
+ 	self assert: (anEvent isAdded or: [anEvent isModified] or: [anEvent isRemoved]).
+ 	
+ 	anEvent item methodClass isMeta ifFalse: [^ self].
+ 	key := anEvent item selector.
+ 	anEvent isRemoved ifTrue:
+ 		[^ self removeKey: key fromJekyllDirectoryNamed: self autoStoreJekyllDirectoryName].
+ 	(self pages includes: key) ifFalse: [^ self].
+ 	[[self storeKey: key asJekyllFileInDirectoryNamed: self autoStoreJekyllDirectoryName]
+ 		on: FileExistsException do: [:ex | ex resume: ex defaultAction]]
+ 			valueSupplyingAnswer: #('*already exists*' 'overwrite that file').!

Item was added:
+ ----- Method: SqueakReleaseNotes class>>removeKey:fromJekyllDirectoryNamed: (in category 'storing') -----
+ removeKey: key fromJekyllDirectoryNamed: aString
+ 
+ 	"We can only guess :("
+ 	| title |
+ 	title := (key matchesRegex: 'v\d+')
+ 		ifTrue: [key allButFirst joinSeparatedBy: $.]
+ 		ifFalse: [self halt].
+ 	FileDirectory default deleteFileNamed: aString , '/' , title , '.md'.!

Squeak-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]